首页 > 解决方案 > 嵌套 for 循环以使用列表理解填充数组

问题描述

现在我有了显示图像的 GUI 程序,我想重新调整图像,所以我被困在一个需要很长时间的嵌套循环中。有没有其他方法可以像列表理解一样更快?如果是这样怎么做?

for new_x in range(new_width):
     for new_y in range(new_height):
         new_image[new_x,new_y] = image[round(new_x/x_scale),round(new_y/y_scale)] ```

标签: pythonoptimizationlist-comprehensionnested-loops

解决方案


您可以使用 opencv 库来调整图像的大小:

import numpy as np
import cv2

img = np.random.randint(0,255,(200,100,3),dtype=np.uint8)

resized_img = cv2.resize(img,dsize = (50,100))

请注意,您需要将所需尺寸指定为(宽度,高度)


推荐阅读