matlab显示图像只有一半,我去噪后图像为什么只显示一半

icon1.gif 我去噪后图像为什么只显示一半

i=imread('lena.png');

subplot(2,2,1);

imshow(i);

title('原始图像');

%生成含噪图像并显示

j=imnoise(i,'gaussian',0,0.001);

subplot(2,2,2);

imshow(j);

title('含噪图像');

%用sym4小波函数对j进行2层分解

[c,l]=wavedec2(j,2,'sym4');

%实现低通滤波消噪

a1=uint8(wrcoef2('a',c,l,'sym4',2));

%用coif2小波函数对j进行2层分解

[gc,gl]=wavedec2(a1,2,'coif2');

n=[1,2];%设置尺度向量

p=[10.28,24.08];%设置阈值向量

%对三个高频系数进行阈值处理

nc=wthcoef2('h',gc,gl,n,p,'s');

nc=wthcoef2('v',gc,gl,n,p,'s');

nc=wthcoef2('d',gc,gl,n,p,'s');

mc=wthcoef2('h',gc,gl,n,p,'s');

mc=wthcoef2('v',gc,gl,n,p,'s');

mc=wthcoef2('d',gc,gl,n,p,'s');

%对更新后的小波分解结构进行阈值处理

x2=waverec2(mc,gl,'coif2');

%进行中值滤波

for ii=1:252;

for jj=1:252;

temp=0;

for m=0:3

for n=0:3

temp=temp+double(x2(ii+m,jj+n));

end

end

temp=temp/16;

x4(ii,jj)=temp;

end

end

for ii=253:256

for jj=253:256

x4(ii,jj)=double(i(ii,jj));

end

end

%显示去噪图像

subplot(2,2,3);

imshow(uint8(x4));

title('消噪图像');

此帖于 2009-08-10 08:46 PM 被 0377lilitian 编辑。

原因: 加图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值