问题描述
我想在matlab中进行卷积图像处理而不使用(conv2)命令 我想使用 (.^) 命令和 2 for 循环 我制作此代码是为了制作 LoG 5x5 过滤器 但它在这一行不起作用 (I(r,c) =sum(sum( Mask.* I( (r-2):(c-2),(r+2):(c+2) ) )) ;)
clc
clear;
Img = imread ('11.jpg'); %reading Image
for x = 1:size(Img,1) % converting to Gray
for y =1:size(Img,2)
G (x,y)= (Img(x,y,1)*0.3 + Img(x,2)*0.59 + Img(x,1)* 0.11);
end
end
Mask = [0,-1,0;0,-2,0;-1,16,-1;0,0]; % the mask
I=double(G);Mask=double(Mask);
% I=conv2(G,Mask); % masking quickly
for r = 3: size(I,1)-2 %masking manualy
for c = 3: size(I,2)-2
I(r,(r+2):(c+2) ) ));
end
end
imshow(Img);title('Orginal Image');
figure,imshow(G);title('Gray Image');
figure,imshow(uint8(I));title('Proccessed Image');
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)