0

我有一张grayscale已转换为binary. 但是,当我imwrite这样做时,我没有得到binary图像。也就是说,具有两个值(即;0,1)的图像,这是为什么呢?

4

2 回答 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 回答