matlab图像边缘检测
时间: 2023-11-06 10:59:56 浏览: 67
在MATLAB中,可以使用不同的边缘检测算法来检测图像中的边缘。以下是使用Sobel算子和Canny算子进行边缘检测的示例代码:
使用Sobel算子进行边缘检测:
```matlab
% 读取图像
img = imread('lena.png');
% 转换为灰度图像
gray_img = rgb2gray(img);
% 使用Sobel算子进行边缘检测
sobel_img = edge(gray_img, 'sobel');
% 显示结果
figure;
subplot(1,2,1), imshow(gray_img), title('Original Image');
subplot(1,2,2), imshow(sobel_img), title('Sobel Edge Detection');
```
使用Canny算子进行边缘检测:
```matlab
% 读取图像
img = imread('lena.png');
% 转换为灰度图像
gray_img = rgb2gray(img);
% 使用Canny算子进行边缘检测
canny_img = edge(gray_img, 'canny');
% 显示结果
figure;
subplot(1,2,1), imshow(gray_img), title('Original Image');
subplot(1,2,2), imshow(canny_img), title('Canny Edge Detection');
```
以上代码中,`edge`函数用于进行边缘检测,第一个参数为灰度图像,第二个参数为所使用的算子类型。可以通过调整算子类型和参数来获取更好的边缘检测效果。
阅读全文