空间域图像滤波
- 格式:docx
- 大小:17.12 KB
- 文档页数:2
function Template=gausTemplate(n,sigma)
end
---------------------------------------------------------------------------------------------------------------------- clc
clear
im=imread('C:\Users\Administrator\Desktop\lena.jpg');
s=11;sigma=10;
k=(s-1)/2;
Template=gausTemplate(s,sigma);%生成高斯模板
[m,n]=size(im);
%图像扩边
%%%%%%%%%%%%%%%%%%
for i=k+1:m+k
for j=k+1:n+k
neighbor=;%%%%点i,j的邻阈
temp=;%%邻域内点乘
imF(i,j)=;%计算滤波器响应
end
end
imFil=imF(k+1:m+k,k+1:n+k);%滤波后的图像
imFil=uint8(imFil);
imshow(imFil)
clc
clear
im=imread('C:\Users\Administrator\Desktop\lena.jpg');
s=3;sigma=0.8;
k=(s-1)/2;
Template=gausTemplate(s,sigma);%Éú³É¸ß˹ģ°å
[m,n]=size(im);
%ͼÏñÀ©±ß
new=zeros(m+2*k,n+2*k);
new(k+1:m+k,k+1:n+k)=im; %%%%%%%%%%%%%%%%%%
for i=k+1:m+k
for j=k+1:n+k
neighbor=new(i-k:i+k,j-k:j+k) ;%%%%µãi,jµÄÁÚãÐtemp=neighbor.*Template ;%%ÁÚÓòÄÚµã³Ë
imF(i,j)=sum(temp(:)) ;%¼ÆËãÂ˲¨Æ÷ÏìÓ¦
end
end
imFil=imF(k+1:m+k,k+1:n+k);%Â˲¨ºóµÄͼÏñ
imFil=uint8(imFil);
imshow(imFil);