我有grayscale
图片,我已将其转换为binary
。但是,当我imwrite
时,我没有得到binary
图片。也就是说,有两个值(即0,1)的图像,为什么是这样?
答案 0 :(得分:1)
根据imwrite
的文档:
If the input array is of class double, and the image is a grayscale
or RGB color image, IMWRITE assumes the dynamic range is [0,1] and
automatically scales the data by 255 before writing it to the file as
8-bit values.
这可能就是问题所在。
答案 1 :(得分:0)
好吧,让我们看看如何将图像转换为BW并保存,我希望你能找到缺失点:
第一次阅读图片:
im = imread('img_name.jpg');
第二次将其转换为BW:
bw = im2bw(im, graythresh(im));
第3次保存:
imwrite(bw, 'binary_image_name.jpg', 'jpg');
我想,你错过了'imwrite'函数的第二个参数的图像格式('binary_image_name.jpg')