繁体   English   中英

错误:无法解包的值太多

[英]error: too many values to unpack

我正在尝试运行此python代码以读取图像并将其转换为数据矩阵,但遇到上面的错误,希望您能帮助我弄清楚要做什么

from PIL import Image
from numpy import array
import numpy as np



img = Image.open('felix.png')
arr = array(img)

im = Image.open("felix.png")
col,row =  im.size
data = np.zeros((row*col, 5))
pixels = im.load()
for i in range(row):
    for j in range(col):
        r,g,b =  pixels[i,j]
        data[i*col + j,:] = r,g,b,i,j




print (data)

错误,值错误:此行有太多无法解包的值:r,g,b =像素[i,j]

非常感谢

此错误意味着每个像素包含的变量超过了您提供的3个值。 有理由假设这些实际上是RGBA像素。

r,g,b,a = pixels[i,j]

您打开的每个PNG文件都不会出现这种情况,因此您需要能够动态处理这种情况。

如果您有多个具有不同波段(RGB / RGBA)的图像,并且不想过滤它们,则只需执行以下操作:

band = pixels[i,j]
r = band[0]
g = band[1]
b = band[2]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM