利用大津算法对边缘提取的MATLAB代码
时间: 2023-12-21 21:05:09 浏览: 83
用matlab进行边缘提取的代码
以下是利用大津算法对边缘提取的MATLAB代码:
```matlab
% 读取图像
img = imread('image.jpg');
% 将图像转为灰度图
gray_img = rgb2gray(img);
% 计算图像的阈值
threshold = graythresh(gray_img);
% 利用大津算法对图像进行二值化
bw_img = im2bw(gray_img, threshold);
% 对二值化后的图像进行边缘提取
edge_img = edge(bw_img);
% 显示图像
subplot(1,2,1);
imshow(img);
title('Original Image');
subplot(1,2,2);
imshow(edge_img);
title('Edge Image');
```
其中,`graythresh` 函数会返回一个阈值,该阈值可用于将图像二值化。`im2bw` 函数可以根据阈值将灰度图像转为二值图像。`edge` 函数可以对二值化后的图像进行边缘提取。最后,使用 `imshow` 函数显示原始图像和边缘图像。
阅读全文