相同的二进制图像 - python和amp; MATLAB

时间:2016-08-26 18:39:15

标签: python matlab image-processing

行。我完全糊涂了。我有一个二进制图像。这些值(据称)为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

它有什么不同?

谢谢!

1 个答案:

答案 0 :(得分:0)

matlab支持逻辑数组,scipy将图像转换为灰度。根据您的要求,您可以将灰度图像转换为逻辑

bit_img = img > 127

或将逻辑数组转换为matlab中的int8

img = int8(binary_image) * 255