1 原理
图像二值化的原理是将彩色或灰度图像转换为只包含两种颜色(通常是黑色和白色)的二值图像的过程。其关键是通过设定一个阈值,将图像中的像素点的灰度值与阈值进行比较,根据比较结果将像素点设置为白色或黑色。步骤如下:
- 选择阈值:首先,选择一个合适的阈值。这个阈值可以是固定的,也可以是基于图像的灰度直方图或统计分析得出的动态阈值。
- 灰度值比较:然后,遍历图像的每个像素点,将其灰度值与设定的阈值进行比较。
- 设置颜色:
- 如果像素点的灰度值大于阈值,则将该像素点设置为白色(通常用最大灰度值表示,如255)。
- 如果像素点的灰度值小于或等于阈值,则将该像素点设置为黑色(通常用最小灰度值表示,如0)。
- 完成二值化:继续遍历所有像素点,直到处理完整个图像,从而完成二值化过程。
图像二值化是一种简单而有效的图像处理技术,通过设定阈值和灰度值比较,将原始灰度图像转换为黑白二值图像,从而便于后续的目标识别、特征提取等处理。在实际应用中,阈值的选择对二值化效果至关重要,需要根据具体任务和数据特点进行合理设定。
2 代码
%% 二值化
figure;
I2 = imread('test.jpg');
if size(I2, 3) == 3
I2 = rgb2gray(I2);
end
% 显示原始图像
subplot(1,2,1);imshow(I2);
% 使用graythresh函数计算灰度阈值
level = graythresh(I2);
BW = im2bw(I2, level);
% 显示二值化后的图像
subplot(1,2,2);imshow(BW);
3 运行结果