在网上看了几个博客上的代码,发现基本写得都是一样的,有些地方感觉写的不是很对,自己尝试了一下。
步骤如下:
懒得打字了,从老师的课件上截的图。
下面是代码:
clear all; close all; clc;
img=double(imread('lena.png'));
%imshow(img,[]);
[m n]=size(img);
%sobel算子计算区域内的梯度
hx = [-1,0,1;-2,0,2;-1,0,1]; %定义竖直模板
hy = [1,2,1;0,0,0;-1,-2,-1]; %定义水平模板
gradx = filter2