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

编程实现Sobel算子编程实现Prewitt在matlab中对图像的运用2个m代码谁发下给我急用谢谢了还有2者处理结果的比较... 编程实现Sobel算子 编程实现Prewitt在matlab中对图像的运用 2个m代码 谁发下给我 急用谢谢了 还有2者处理结果的比较 展开
 我来答
yuerlee4628
2012-12-31
知道答主
回答量:16
采纳率:0%
帮助的人:13万
展开全部
% -------------------------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就是了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式