使用python读取二进制的像素值

时间:2017-12-11 14:45:17

标签: python opencv python-imaging-library

如何读取二进制图像中的像素值?

import cv2
img = cv2.imread('sc.jpg')
px = sc[1, 1]
print px

但我得到的结果是3个红色通道绿色和蓝色

[255 255 255]

基于参考我有二进制图像上的像素值是1和0
我很困惑这种情况 谢谢你:)

1 个答案:

答案 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的像素值。请检查您的图像文件是否以正确的格式保存!