1
我正在写这个代码获取图像的所有像素,然后将它们存储到列表中。将一个循环转换为一个列表理解
我的目标是将此循环转换为列表理解。
# Take the image
im = Image.open("C:/Users/admin/Desktop/IMG_170619_114715_0007_NIR.tif")
#load it
pixels = im.load()
# take the width and the height
width, height = im.size
然后是环......
all_pixels = []
for x in range(width):
for y in range(height):
cpixel = pixels[x,y]
all_pixels.append(cpixel)
我第一次尝试是这样的......
all_pixels=[[pixels[x,y] for y in range(height)] for x in range(width)]
而且它的工作,但是当我做LEN(all_pixels)看看我是否有所有的像素,我只有1280个值,这意味着计算没有正确完成在lsit理解...
len(all_pixels) Out[143]: 1280
我们应该有这样的事情..
len(all_pixels) Out[105]: 1228800
任何帮助吗?为什么列表理解不会计算循环的相同内容?
头脑不'像素[X] [Y]'... –
@WillemVanOnsem我不认为这有什么差别。 –
谢谢先生!这有助于.. –