我试图过滤使用的图像imfilter.我应该得到相同的结果,imfilter但我一直得到不同的结果.谁能告诉我哪里出错了?
orignal=imread('obj6__17.png');
filter=1/9*[-1 -1 -1 ; -1 17 -1 ; -1 -1 -1];
s=size(orignal);
r=zeros(s(1));
temp = zeros(3);
for i= 2: s(1)-1
for j = 2: s(2)-1
for n= 1: 3
for m= 1:3
temp(n,m)=orignal(i+2-n,j+2-m)*filter(n,m);
end
end
r(i,j)=sum(single(sum(temp)));
end
end
Run Code Online (Sandbox Code Playgroud) 我用这两个函数来找到刻度上的边.你有一个输入图像,你将一个掩码(例如prewitt)应用于输入图像,并获得结果图片.
mypic = imread('examplepic.jpg')
hy = fspecial('prewitt')
yimfilter = imfilter(mypic,hy) % Using imfilter
yconv2 = conv2(mypic,hy) % Using conv2
Run Code Online (Sandbox Code Playgroud)
这两者之间的理论差异是什么?我知道我有不同的输出,但这有什么区别?
谢谢