机器视觉作业
matlab实现卷积
function conv %jing's hw
img = imread('Miss.bmp');
img=double(imresize(img(:,:,1),[2048,2048]));
h = [
1,1,1;
0,0,0;
-1,-1,-1];
g=MyConv2(img,h);
g1=uint8(g);
imshow(g1);
end
function [g] =MyConv2(f,h)
h=rot90(h,2); %灏嗗嵎绉牳缁曞叾涓績鏃嬭浆180搴︼紱
[m1,n1]=size(f);
[m2,n2]=size(h);
m=m1+m2-1;
n=n1+n2-1; %鐭╅樀鐨勮鏁?鍒楁暟
t1=zeros(m,n);% 鏋勫缓鍗风Н鍚庣殑鐭╅樀
t2=zeros(m,n);
for i=m2:m
for j=n2:n
t1(i,j)=f(i-m2+1, j-n2+1);
end
end
for x=m2:m
for y=n2:n
for p = 1:m2
for q = 1:n2
t2(x,y)=t2(x,y)+h(p,q)*t1(x-p+1,y-q+1);
end
end
end
end
g=t2(m2:m,n2:n);
end