matlab图像处理,对一幅图像做傅里叶变换,去掉细节部分留下轮廓部分,是去掉高频还是低频
具体怎么去除,请教,自己试了好多次没成功。还有去掉细节部分后,用rank函数对该图像矩阵进行秩的计算,会比原图的秩改变吗?...
具体怎么去除,请教,自己试了好多次没成功。还有去掉细节部分后,用rank函数对该图像矩阵进行秩的计算,会比原图的秩改变吗?
展开
2个回答
展开全部
%下面是一段做fft变换的程序;至于秩的问题,试一下就知道了。
im=imread('c:\1.bmp'); %读入图像
imshow(im);
[m,n]=size(im);
F=fftshift((fft2(double(im))));
m1=floor(m/2);
n1=floor(n/2);
d0=20;
for u=1:m
for v=1:n
d(u,v)=sqrt((u-m1)^2+(v-n1)^2);
if d(u,v)<d0
h(u,v)=1;
else
h(u,v)=0;
end
g(u,v)=h(u,v)*F(u,v);
end
end
butterfilter=ifft2(ifftshift(g));
figure,imshow(uint8(butterfilter));
im=imread('c:\1.bmp'); %读入图像
imshow(im);
[m,n]=size(im);
F=fftshift((fft2(double(im))));
m1=floor(m/2);
n1=floor(n/2);
d0=20;
for u=1:m
for v=1:n
d(u,v)=sqrt((u-m1)^2+(v-n1)^2);
if d(u,v)<d0
h(u,v)=1;
else
h(u,v)=0;
end
g(u,v)=h(u,v)*F(u,v);
end
end
butterfilter=ifft2(ifftshift(g));
figure,imshow(uint8(butterfilter));
参考资料: http://zhidao.baidu.com/question/427614589.html?oldq=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询