图像灰度化二值化matlab
时间: 2023-08-26 14:06:50 浏览: 125
图像灰度化和二值化是图像处理中常用的操作,Matlab提供了很多方便的函数来进行这些操作。下面是一个简单的例子来演示如何将一张彩色图像灰度化并二值化:
```matlab
% 读入彩色图像
img = imread('test.jpg');
% 将图像灰度化
gray_img = rgb2gray(img);
% 对灰度图像进行二值化
threshold = graythresh(gray_img);
bw_img = imbinarize(gray_img, threshold);
% 显示结果
subplot(1,3,1), imshow(img), title('原图')
subplot(1,3,2), imshow(gray_img), title('灰度图')
subplot(1,3,3), imshow(bw_img), title('二值化图')
```
上面的代码首先使用 `imread` 函数读入一张彩色图像,然后使用 `rgb2gray` 函数将其转换为灰度图像。接着使用 `graythresh` 函数自动确定二值化的阈值,然后使用 `imbinarize` 函数将灰度图像二值化。最后使用 `subplot` 和 `imshow` 函数将原图、灰度图和二值化图显示出来。
需要注意的是,二值化的效果取决于阈值的选择。如果要手动选择阈值,可以使用 `imtool` 函数打开图像,然后使用鼠标在工具栏选择阈值工具进行操作。
阅读全文