sobel边缘检测matlab代码
时间: 2024-01-08 08:14:06 浏览: 91
基于matlab计算sobel,canny的边缘检测.txt
以下是Sobel边缘检测的MATLAB代码:
```
% 读取原始图像
I = imread('lena.jpg');
% 转换为灰度图像
I = rgb2gray(I);
% Sobel边缘检测
sobel_x = [-1 0 1; -2 0 2; -1 0 1]; % x方向
sobel_y = [-1 -2 -1; 0 0 0; 1 2 1]; % y方向
Gx = conv2(double(I), sobel_x, 'same');
Gy = conv2(double(I), sobel_y, 'same');
G = sqrt(Gx.^2 + Gy.^2);
G = uint8(G);
% 显示处理后的图像
imshow(G);
```
以上代码中,先读取原始图像并转换为灰度图像,然后定义Sobel算子的x和y方向卷积核,分别进行卷积计算得到Gx和Gy,再根据公式G=sqrt(Gx^2+Gy^2)计算出边缘强度G,最后将G转换为uint8类型并显示处理后的图像。
阅读全文