为什么我的图像会在非常小的减量后消失?

时间:2014-03-10 12:18:28

标签: matlab image-processing

我有这张图片:

我想以较小的增量将其转换为黑白,奇怪的是它只是在一次增量后消失。

对于这一行

bw_normal = im2bw(img, 0.33);

我明白了:

但对于这一行:

bw_normal = im2bw(img, 0.32);

这个词完全消失了,这不应该发生吗?只有在此图像中才会出现,任何其他图像将继续显示为0.1。

这是我在0.32

所得到的

只是一个空白区域,任何人都可以解释一下。

1 个答案:

答案 0 :(得分:5)

im2bw将图像转换为二进制(黑/白)图像。它通过将所有像素的亮度分量与您提供的阈值作为第二个参数进行比较来实现。如果像素是光滑的,则它变成白色,如果它变暗,则变成黑色。

在您的情况下,图像只有一种颜色(非常多)。此颜色的亮度分量介于0.320.33之间,因此,如果您使用0.33作为阈值,则图像的大多数彩色部分将低于阈值并变为黑色。但是,如果您使用0.32,则大多数(如果不是全部)图像都将高于阈值,从而变为白色。

您的体验是预期的行为,因为您的图像基本上是白色背景,前景是单色。一旦你的“增量”达到该颜色的亮度,你的图像就会消失。