写一段matlab代码,实现图像的多阈值分割
时间: 2024-05-07 07:21:46 浏览: 75
matlab:基于遗传算法的图像阈值分割
5星 · 资源好评率100%
这里是基于Otsu算法的多阈值分割的Matlab代码:
```Matlab
% 读入图像
img = imread('example.jpg');
% 将图像转化为灰度图
gray_img = rgb2gray(img);
% 设定阈值数量,这里设定为2
threshold_num = 2;
% 对灰度图进行Otsu算法分割
[~, threshold] = multithresh(gray_img, threshold_num);
% 将图像进行多阈值分割
segmented_img = imquantize(gray_img, threshold);
% 显示原图和分割后的图像
subplot(1, 2, 1);
imshow(gray_img);
title('原图');
subplot(1, 2, 2);
imshow(segmented_img, []);
title('分割后的图像');
```
其中,`imread`函数用于读入图像,`rgb2gray`函数用于将图像转化为灰度图,`multithresh`函数用于对灰度图进行Otsu算法分割,`imquantize`函数用于进行多阈值分割,最后通过`imshow`函数显示原图和分割后的图像。
阅读全文