matlab图像二值化
时间: 2023-07-13 22:24:42 浏览: 89
MATLAB图像二值化
对于一幅灰度图像,可以通过阈值对其进行二值化处理。在 MATLAB 中,可以使用 `imbinarize` 函数来进行二值化处理。下面是一个简单的例子:
```matlab
% 读入灰度图像
I = imread('example.jpg');
% 对图像进行二值化处理,阈值为 128
BW = imbinarize(I, 0.5);
% 显示原图和二值化后的图像
subplot(1, 2, 1), imshow(I), title('Original Image');
subplot(1, 2, 2), imshow(BW), title('Binarized Image');
```
其中,`imbinarize` 函数的第二个参数为阈值,可以是一个数值或一个字符串。如果是数值,则表示阈值为灰度级别除以 255 的值;如果是字符串,则表示使用指定的方法来计算阈值,比如 `'adaptive'` 表示自适应阈值。
此外,还可以使用 `graythresh` 函数来计算图像的全局阈值。下面是一个例子:
```matlab
% 读入灰度图像
I = imread('example.jpg');
% 计算全局阈值
level = graythresh(I);
% 对图像进行二值化处理
BW = imbinarize(I, level);
% 显示原图和二值化后的图像
subplot(1, 2, 1), imshow(I), title('Original Image');
subplot(1, 2, 2), imshow(BW), title('Binarized Image');
```
这样就可以根据图像的灰度级别自动计算二值化的阈值了。
阅读全文