MATLAB图像处理基础知识2 im2bw
2017-09-23 21:05
330 查看
matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。 在matlab命令行中键入doc im2b或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。
阈值变换
比如数组 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图像处理基础知识3 findpeaks xlim
- 深度学习FPGA实现基础知识15(Matlab图像处理“卷积”运算)
- matlab图像处理基础知识0(双线性插值matlab实现--调整水平和垂直放大倍数)
- 深度学习FPGA实现基础知识16(图像处理中任意核卷积(matlab中conv2函数)的快速实现)
- MATLAB图像处理基础知识3 替换矩阵的数值A(A<0) = 1
- matlab 图像处理基础知识
- MATLAB图像处理基础知识3 梯度
- MATLAB图像处理基础知识3 size函数
- MATLAB图像处理基础知识
- matlab图像处理基础知识1(双线性插值matlab实现--等比例调整缩放倍数)
- MATLAB图像处理基础知识
- matlab图像处理基础知识2(matlab位运算操作)
- MATLAB图像处理基础知识1 imhist
- matlab图像处理基础知识3(双线性插值matlab实现--FPGA优化)
- MATLAB图像处理基础知识3 mapminmax
- 使用matlab处理图像的基础知识
- MATLAB图像处理基础知识3 稀疏矩阵变全矩阵full 保存矩阵到txt文件save
- MATLAB图像处理基础知识学习总结(MATLAB操作命令)
- MATLAB图像处理基础知识3 稀疏矩阵变全矩阵full 保存矩阵到txt文件save
- 图像处理基础知识