我有一张grayscale
已转换为binary
. 但是,当我imwrite
这样做时,我没有得到binary
图像。也就是说,具有两个值(即;0,1)的图像,这是为什么呢?
问问题
124 次
2 回答
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.
这可能是问题所在。
于 2013-11-13T10:25:43.033 回答
0
好吧,让我们看看如何将图像转换为 BW 并保存它,希望你能找到缺失的地方:
第一次阅读图像:
im = imread('img_name.jpg');
第二次将其转换为 BW:
bw = im2bw(im, graythresh(im));
第三次保存:
imwrite(bw, 'binary_image_name.jpg', 'jpg');
我猜,您在“imwrite”函数的第二个参数(“binary_image_name.jpg”)中错过了图像格式
于 2013-11-13T10:47:16.227 回答