📅  最后修改于: 2023-12-03 14:44:11.108000             🧑  作者: Mango
在数字图像处理中,图像阈值化是指将灰度图像转换为二值图像的操作。常见的阈值化方法有全局阈值,自适应阈值和基于直方图的阈值。在MATLAB中使用imbinarize
函数可以实现图像二值化的操作。
imbinarize
函数的定义如下:
BW = imbinarize(I, level)
BW = imbinarize(I, level, 'adaptive')
其中,I表示输入的灰度图像,level表示阈值。第二个参数'adaptive'表示自适应阈值化。
首先要读入一张灰度图像,可以使用imread
函数读入:
I = imread('image.png');
然后调用imbinarize
函数进行二值化处理:
level = graythresh(I);
BW = imbinarize(I, level);
如果需要进行自适应阈值化,可以这样调用:
level = adaptthresh(I, 0.5);
BW = imbinarize(I, level, 'adaptive');
% 读入灰度图像
I = imread('image.png');
% 使用全局阈值
level = graythresh(I);
BW = imbinarize(I, level);
% 使用自适应阈值
level = adaptthresh(I, 0.5);
BW = imbinarize(I, level, 'adaptive');
% 显示结果
subplot(1, 2, 1);
imshow(I);
title('原图像');
subplot(1, 2, 2);
imshow(BW);
title('二值化结果');
通过MATLAB中的imbinarize
函数,可以很方便地将灰度图像转换为二值图像,可以选择全局阈值或者自适应阈值。