图像分割 matlab代码
时间: 2023-08-21 17:27:55 浏览: 101
这里给您提供一个基于阈值的图像分割Matlab代码示例,您可以根据自己的需求进行修改和优化:
```matlab
% 读取图像
img = imread('example.jpg');
% 将图像转换为灰度图
gray_img = rgb2gray(img);
% 计算图像灰度直方图
hist = imhist(gray_img);
% 使用OTSU方法计算最佳阈值
threshold = graythresh(gray_img);
% 二值化图像
binary_img = imbinarize(gray_img, threshold);
% 显示原图和二值化图像
figure;
subplot(1,2,1);
imshow(img);
title('Original Image');
subplot(1,2,2);
imshow(binary_img);
title('Binary Image');
```
这段代码首先读取一张图像,并将其转换为灰度图。然后计算灰度直方图,并使用OTSU方法计算最佳阈值。最后,通过imbinarize函数将图像二值化,并将原图和二值化图像显示在同一张图上。
需要注意的是,这只是一个简单的图像分割示例,实际应用中可能需要根据具体情况选择不同的图像分割方法和参数。
阅读全文