Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2013-05-26
年龄: 33
帖子: 2
声望力: 0 ![]() |
![]()
错误:
??? C(1,num(4-i,1):num(4-i,3)+step(4-i-1)=ch(1,1:ch1); | Error: The expression to the left of the equals sign is not a valid target for an assignment. 程序:clear all; close all; I=imread('C:\MATLAB7\tupian.jpg') X=rgb2gray(I); [height width]=size(X); X=im2double(X); A=imnoise(X,'gaussian',0,0.02); wname='sym4'; n=3; [c,s]=wavedec2(A,n,wname); for i=1:3 step(i)=s((i+1),1)*s((i+1),2); end num(1,1)=s(1,1)*s(1,2)+1; %获取各层各高频分量在c向量中的坐标 num(1,2)=num(1,1)+s(2,1)*s(2,2); num(1,3)=num(1,2)+s(2,1)*s(2,2); num(2,1)=num(1,3)+s(2,1)*s(2,2); num(2,2)=num(2,1)+s(3,1)*s(3,2); num(2,3)=num(2,2)+s(3,1)*s(3,2); num(3,1)=num(2,3)+s(3,1)*s(3,2); num(3,2)=num(3,1)+s(4,1)*s(4,2); num(3,3)=num(3,2)+s(4,1)*s(4,2); m=0.02; C=c; for i=1:3 [H,V,D]=detcoef2('a',c,s,i); %提取各i层高频系数 B=[H,V,D]; [L,T]=size(B); for k=1:L for w=i:T sigma=median(abs(B(k,w)))/0.6745; end end th=sigma*sqrt(2*log10(L*t)); %计算阈值 ch=c(1,num(4-i,1):num(4-i,3)+step(4-i)-1); %对各高频系数进行阈值处理 ch1=length(ch); for j=1:ch1 if abs(ch(j))>=th ch(j)=ch(j); %阈值处理函数 else ch(j)=0; end end C(1,num(4-i,1):num(4-i,3)+step(4-i)-1)=ch(1,1:ch1); X0=waverec2(C,s,wname); for j=1:ch1 if abs(ch(j))*(abs(ch(j))-th); %阈值处理函数 else ch(j)=0; end end C(1,num(4-i,1):num(4-i,3)+step(4-i)-1)=ch(1,1:ch1); X1=waverec2(C,s,wname); for j=1:ch1 if abs(ch(j))>=th ch(j)=sign(ch(j))*(abs(ch(j))-th/exp(m*(abs(ch(j))-th)^2)); %阈值处理函数 else ch(j)=0; end end C(1,num(4-i,1):num(4-i,3)+step(4-i-1)=ch(1,1:ch1); end X2=waverec2(C,s,wname); %disp('原图像信噪比为:'), PSNR=10*log10(sum(sum(double(X).^2))/sum(sum((double(X)-double(A)).^2))) %disp('硬阈值去噪后信噪比为:'), PSNR=10*log10(sum(sum(double(X).^2))/sum(sum((double(X)-double(X0)).^2))) %disp('软阈值去噪后信噪比为:'), PSNR=10*log10(sum(sum(double(X).^2))/sum(sum((double(X)-double(X1)).^2))) %disp('新阈值去噪后信噪比为:'), PSNR=10*log10(sum(sum(double(X).^2))/sum(sum((double(X)-double(X2)).^2))) figure(1) imshow(X) title('原图') figure(2) subplot(2,2,1) imshow(A) title('含噪声图像') subplot(2,2,2) imshow(X0,[]) title('硬阈值去噪结果图') subplot(2,2,3) imshow(X1,[]) title('软阈值去噪结果图') subplot(2,2,4) imshow(X2,[]) title('新阈值去噪结果图') 各位请帮我看看我的程序哪儿错了,我语言没学好。看不懂。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2013-05-26
年龄: 33
帖子: 2
声望力: 0 ![]() |
![]()
我已经改过,并且调出来了
|
![]() |
![]() |