如何读取二进制图像中的像素值?
import cv2
img = cv2.imread('sc.jpg')
px = sc[1, 1]
print px
但我得到的结果是3个红色通道绿色和蓝色
[255 255 255]
基于参考我有二进制图像上的像素值是1和0
我很困惑这种情况
谢谢你:)
答案 0 :(得分:0)
首先,您的代码有错误。图像对象的名称为img
,而不是sc
。
其次,您看到每个频道的RGB值最高可达255。 (255,255,255)是白色的。大概你期望二进制图像的黑色= 0和白色= 1?
您可以将imread模式更改为例如灰度。
import cv2
img = cv2.imread('sc.jpg', 0)
px = img[1, 1]
print px
没有二进制模式,但是,你不应该这样做。如果您的图像真正以二进制格式保存,opencsv应该识别这一点,并为您提供1或0的像素值。请检查您的图像文件是否以正确的格式保存!