📜  MATLAB |软件开发工具使用阈值将灰度图像转换为二进制图像(1)

📅  最后修改于: 2023-12-03 14:44:11.108000             🧑  作者: Mango

MATLAB |软件开发工具使用阈值将灰度图像转换为二进制图像

在数字图像处理中,图像阈值化是指将灰度图像转换为二值图像的操作。常见的阈值化方法有全局阈值,自适应阈值和基于直方图的阈值。在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函数,可以很方便地将灰度图像转换为二值图像,可以选择全局阈值或者自适应阈值。