繁体   English   中英

.png图像无法执行二进制灰度,而.jpg图像可以

[英].png image fail to do binary gray, while .jpg image can

非常简单的代码,我可以从image1中读取图像为png或从image2中读取图像为jpg。 同一张图片,格式不同。

然后将较暗的部分过滤为黑色,将较亮的部分过滤为白色。

#image = mpimg.imread('image1.png')
image = mpimg.imread('image2.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
thresh = (180, 255)
binary = np.zeros_like(gray)
binary[(gray > thresh[0]) & (gray <= thresh[1])] = 1

不知何故,当我绘制image1的二进制文件时,它全都是黑色的,但是image2看起来是我倾向于做的。 在此处输入图片说明

问题很可能是由于matplotlib.image成功读取pngjpg退回使用Pillow所致。 读取的png图像将是一个范围为0.0到1.0的浮点值数组,而读取的jpg将是一个值为0..255的字节数组。 结果,您的剪辑操作将导致全黑图像,因为所有图像均低于1。

有关更多信息,请参见http://matplotlib.org/users/image_tutorial.html

暂无
暂无

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

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