首 页 行业热点 新车 试驾评测 养车用车 车型库

边缘检测算子sobel prewitt在图像处理中的应用

发布网友

我来回答

1个回答

热心网友

% -------------------------Sobel算子-------------------------
I=I3;
[m,n]=size(I);
G_sh=zeros(m,n); % 水平方向的边缘
G_sv=zeros(m,n); % 垂直方向的边缘
G_s=zeros(m,n); % 不考虑方向的边缘
t=input('请输入Sobel算子的域值:') % I的域值
g1=zeros(m,n);g2=zeros(m,n);
for i=2:m-1
for j=2:n-1
g1(i,j)=I(i-1,j+1)+2*I(i,j+1)+I(i+1,j+1)-1*I(i-1,j-1)-2*I(i,j-1)-I(i+1,j-1);
g2(i,j)=I(i-1,j-1)+2*I(i-1,j)+I(i-1,j+1)-I(i+1,j-1)-2*I(i+1,j)-I(i+1,j+1);
end
end
g=abs(g1)+abs(g2);
for i=1:m
for j=1:n
if g1(i,j)>t
G_sv(i,j)=1;
end
if g2(i,j)>t
G_sh(i,j)=1;
end
if g(i,j)>t
G_s(i,j)=1;
end
end
end
figure,imshow(G_sv),title(strcat('垂直方向边缘 t=',num2str(t)))
figure,imshow(G_sh),title(strcat('水平方向边缘 t=',num2str(t)))
figure,imshow(G_s),title(strcat('不考虑方向边缘 t=',num2str(t)))

prewitt算子就把上面g1,g2的公式里的2换成1就是了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com