matlab边缘检测函数
时间: 2023-11-25 11:05:42 浏览: 92
matlab canny算子边缘检测函数代码.pdf
Matlab中有多种边缘检测函数,其中最常用的是Canny边缘检测和Sobel边缘检测。下面是两种方法的示例代码:
1. Canny边缘检测
```matlab
I = imread('image.jpg'); % 读取图像
I = rgb2gray(I); % 转换为灰度图像
BW = edge(I,'canny'); % 进行Canny边缘检测
imshow(BW); % 显示结果
```
2. Sobel边缘检测
```matlab
I = imread('image.jpg'); % 读取图像
I = rgb2gray(I); % 转换为灰度图像
hy = fspecial('sobel'); % 创建Sobel垂直算子
hx = hy'; % 创建Sobel水平算子
Iy = imfilter(double(I), hy, 'replicate'); % 垂直滤波
Ix = imfilter(double(I), hx, 'replicate'); % 水平滤波
gradmag = sqrt(Ix.^2 + Iy.^2); % 计算梯度幅值
imshow(gradmag,[]); % 显示结果
```
阅读全文