Python 在while循环(oops)中完成while循环后,脚本冻结

Python 在while循环(oops)中完成while循环后,脚本冻结,python,python-3.x,image,python-2.7,image-processing,Python,Python 3.x,Image,Python 2.7,Image Processing,所以我试图得到图像中每个像素的rgb值,在它得到第一行的所有值之后,有什么想法吗 脚本: image = input("image:") im = Image.open(image) pix = im.load() width, height = im.size x = 0 y = 0 #for each pixel in the Y while (y < height): # for each pixel in the X while (x < width):

所以我试图得到图像中每个像素的rgb值,在它得到第一行的所有值之后,有什么想法吗

脚本:

image = input("image:")
im = Image.open(image)
pix = im.load()
width, height = im.size
x = 0
y = 0
#for each pixel in the Y
while (y < height):
    # for each pixel in the X
 while (x < width):
     print pix[x,y]
     x = x + 1
y = y + 1
image=输入(“图像:”)
im=图像。打开(图像)
pix=im.load()
宽度、高度=im尺寸
x=0
y=0
#对于Y轴上的每个像素
而(y<高度):
#对于X轴上的每个像素
而(x<宽度):
打印像素[x,y]
x=x+1
y=y+1

初始化x和y值的方式就是问题所在。在第二个while循环之前,应立即将X初始化回零,以便下一行的宽度再次开始计数。比如:

x = 0
y = 0
#for each pixel in the Y
while (y < height):
    # for each pixel in the X
 x = 0 #start counting again for the next row
 while (x < width):
     print pix[x,y]
     x = x + 1
y = y + 1
x=0
y=0
#对于Y轴上的每个像素
而(y<高度):
#对于X轴上的每个像素
x=0#再次开始计算下一行
而(x<宽度):
打印像素[x,y]
x=x+1
y=y+1

循环冻结是因为在第一行的末尾,x=宽度,而您忘记在第一个while循环的第二次迭代中将其重置为零。

看起来缩进已关闭-
y=y+1
需要缩进
while
。这是打字错误还是你出错的原因?