网站地图
1226.net
给你新词新语最详细的解释
im2bw 发布于:

matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。

matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。 在matlab命令行中键入doc im2bw或help im2bw即可获得该函数的帮助信息。

阈值变换

比如数组 a = [120, 254, 0, 200, 99];

设定一个阈值125, 并对a进行阈值变换, 那么a中凡是大于125的, 则变为255, 小于等于125的则变为0

(具体对临界情况处理可能不同, 不过matlab中im2bw函数是按照上述方法处理的)

这样a经过阈值变换后变为[0, 255, 0, 255, 0]

BW = im2bw(I, level)

BW = im2bw(X, map, level)

BW = im2bw(RGB, level)

其中level就是设置阈值的。level取值范围[0, 1]。

例如:

>> I = uint8([0, 255, 128, 127, 121, 202]);

>> range = getrangefromclass(I)

range =

0 255

>> I2 = im2bw(I, 0.5)

I2 = 0 1 1 0 0 1

>> I3 = im2uint8(I2)

I3 = 0 255 255 0 0 255

getrangefromclass函数能够根据图像数据类型(I的数据类型是uint8)获得图像数据的取值范围。通过这个例子, 可以看到, 图像I中每个像素的取值范围是0~255, 设定阈值为0.5, 则图像数据中凡是超过255 * 0.5 = 127.5的都变为255, 否则都变为0。

在Matlab中使用im2bw函数进行图像二值化处理时(将图像转换为 二值图像), 人为设定阈值并不总是十分有效。matlab工具箱为我们提供了graythresh函数。该函数使用最大类间方差法得到一个阈值, 利用这个阈值进行图像二值化通常是十分有效的。


相关文章推荐:
灰度图像 | 二值图像 | 最大类间方差法 | 二值图像 | 阈值 | getrangefromclass | 图像数据 | 取值范围 | 图像二值化 | 二值图像 | matlab | 工具箱 | graythresh | 最大类间方差法 | 阈值 |