matlab 图像边缘提取
时间: 2023-12-07 22:39:04 浏览: 115
以下是Matlab实现图像边缘提取的例子:
```matlab
clear;clc;
I=imread('lena.bmp');
I=rgb2gray(I);
imshow(I,[]);
title('Original Image');
sobelBW=edge(I,'sobel');
figure;
imshow(sobelBW);
title('Sobel Edge');
robertsBW=edge(I,'roberts');
figure;
imshow(robertsBW);
title('Roberts Edge');
prewittBW=edge(I,'prewitt');
figure;
imshow(prewittBW);
title('Prewitt Edge');
logBW=edge(I,'log');
figure;
imshow(logBW);
title('Laplasian of Gaussian Edge');
cannyBW=edge(I,'canny');
figure;
imshow(cannyBW);
title('Canny Edge');
```
以上代码中,我们首先读取了一张灰度图像,然后使用不同的边缘检测算法进行边缘提取,包括Sobel算子、Roberts算子、Prewitt算子、Laplasian of Gaussian算子和Canny算子。最后,我们将每种算法得到的结果分别显示出来。
阅读全文