行。我完全糊涂了。我有一个二进制图像。这些值(据称)为0和1.我在Matlab中读取它,以验证:
binaryImage = imread('binary.png');
我得到最大值和最小值,值分别为1和0.
maxValue = max(binaryImage(:));
minValue = max(binaryImage(:));
我采用相同的二进制图像,并在Python中读取...
from scipy.misc import imread
获取我们展平的像素值
li = img.flatten()
# check each value
for s in li:
print s
根据Python,这些值为0且 255 。
所以...这是否意味着如果我使用C ++(ITK)我将获得不同的价值?如果我使用OpenCV,我会得到不同的价值? (从技术上讲," on"值应该只有1和255,但你知道我的意思。)
如果像素是" on" (白色),我将值设置为1(在二进制图像中),无论我读到什么语言,我希望看到该值的 1 。
它有什么不同?
谢谢!
答案 0 :(得分:0)
matlab支持逻辑数组,scipy将图像转换为灰度。根据您的要求,您可以将灰度图像转换为逻辑
bit_img = img > 127
或将逻辑数组转换为matlab中的int8
img = int8(binary_image) * 255