Closed Zpadger closed 4 years ago
运行原文件时报错“ValueError:not enough values to unpack (expected 3 got 2)”,是这行代码出现问题“H, W, C = img.shape”,将其改为“H, W =img.shape”即可正常运行,C值在该程序之后也没有用到。虽然改正了错误,但是不太明白其中的原理。可以请作者指导一下,为什么之前的程序中都用到了C值,而该程序中没有用到吗?非常感谢!
H,W,C = img.shape 这一句是获取图像的高、宽、通道数的,C即通道数,也就是每个像素有几个字节组成. opencv读取彩色图像时imread函数返回的是BGR格式,即每个像素由Blue, Green, Red3个色彩组成,每种色彩一个字节,共3个字节。所以此时img.shape返回的C值为3. 而对于灰度图像,每个像素只有一个字节,所以img.shape返回的只有高和宽,没有通道数。 所以你看到区别就在于要处理的图像是彩色的还是灰度的。
BGR2GRAY(img)
返回的确实是一个二维的矩阵,不是三维的
可以去原作者那里提一下
你好,原代码anwser_4.py无法运行,共有四处错误,已改正,可正确运行
运行原文件时报错“ValueError:not enough values to unpack (expected 3 got 2)”