急~!求助 matlab小波图像去噪的源程序...处理.bmp格式的图像....真的很急!!!邮箱:36545215@qq.com ...

急~!求助 matlab小波图像去噪的源程序...处理.bmp格式的图像....真的很急!!!邮箱:36545215@qq.com ...,第1张

%利用小波变换对8位灰度图像进行去噪去袜肢昌噪处理,最后显示信噪比和均方误差

clear allclc

A=imread('d:/photo/fabric/cd4 - 复制.bmp')

subplot(121),imshow(A)title('original imge')

[m,n]=size(A)

A=double(A)

%选取分解小波

display('选择分解的饥前小波:')

display('enter 1 for haar wavelet')

display('enter 2 for db2 wavelet')

display('enter 3 for db4 wavelet'告扒)

display('enter 4 for sym wavelet')

display('enter 5 for sym wavelet')

display('enter 6 for bior wavelet')

display('enter 7 for bior wavelet')

display('enter 8 for mexh wavelet')

display('enter 9 for coif wavelet')

display('enter 10 for meyr wavelet')

display('enter 11 for morl wavelet')

display('enter 12 for rbio wavelet')

display('press any key to quit')

ww=input('enter your choice:')

switch ww

case 1

wv='haar'

case 2

wv='db2'

case 3

wv='db4'

case 4

wv='sym2'

case 5

wv='sym4'

case 6

wv='bior1.1'

case 7

wv='bior6.8'

case 8

wv='mexh'

case 9

wv='coif5'

case 10

wv='dmey'

case 11

wv='mor1'

case 12

wv='jpeg9.7'

otherwise

quit

end

%选取分解的层数

display('选择分解层数:')

levels=input('enter 1 or 2 :')

filtertype=wv

[C,S]=wavedec2(A,levels,filtertype)%小波分解

var=length(C)-S(size(S,1)-1,1)^2+1

%{

%第一中去噪方法:用此种方法时,效果与选取分解的层数没有关系,只与选取的小波有关系

C(var:length(C))=0%将对角线的高频系数置零

B=waverec2(C,S,filtertype)%重构图像

%}

%{

%第二种去噪方法:贝叶斯阈值去噪,对各个高频系数进行贝叶斯阈值去噪

display('选择软阈值或者硬阈值:')

display('enter 1 for soft thresholding')

display('enter 2 for hard thresholding')

sorh=input('sorh: ')

sigmahat=median(abs(C(var:length(C))))/0.6745%Calculating sigmahat

st=(S(1,1)^2)+1%低频系数的个数

bayesC=[C(1:st-1),zeros(1,length(st:1:length(C)))]%只是保留低频信息

for jj=2:size(S,1)-1 %行数

%对于水平高频系数

coeh=C(st:st+S(jj,1)^2-1)

thr=bayes(coeh,sigmahat)

if sorh==1

bayesC(st:st+S(jj,1)^2-1)=sthresh(coeh,thr)

end

if sorh==2

bayesC(st:st+S(jj,1)^2-1)=hthresh(coeh,thr)

end

st=st+S(jj,1)^2

%对于垂直高频系数

coev=C(st:st+S(jj,1)^2-1)

thr=bayes(coev,sigmahat)

if sorh==1

bayesC(st:st+S(jj,1)^2-1)=sthresh(coev,thr)

end

if sorh==2

bayesC(st:st+S(jj,1)^2-1)=hthresh(coev,thr)

end

st=st+S(jj,1)^2

%对于对角高频系数

coed=C(st:st+S(jj,1)^2-1)

thr=bayes(coed,sigmahat)

if sorh==1

bayesC(st:st+S(jj,1)^2-1)=sthresh(coed,thr)

end

if sorh==2

bayesC(st:st+S(jj,1)^2-1)=hthresh(coed,thr)

end

st=st+S(jj,1)^2

end

B=waverec2(bayesC,S,filtertype)%重构图像

%}

%{

%第三种方法:采用Donoho和Johnstone提出的固定阈值的方法进行去噪处理

display('选择软阈值或者硬阈值:')

display('enter 1 for soft thresholding')

display('enter 2 for hard thresholding')

sorh=input('sorh: ')

st=(S(1,1)^2)+1%低频系数的个数

djC=[C(1:st-1),zeros(1,length(st:1:length(C)))]%只是保留低频信息

for jj=2:size(S,1)-1 %行数

%对于水平高频系数

coeh=C(st:st+S(jj,1)^2-1)

sigmah=median(abs(coeh))/0.6745

thr=sigmah*sqrt(2*log10(length(coeh)))

if sorh==1

djC(st:st+S(jj,1)^2-1)=sthresh(coeh,thr)

end

if sorh==2

djC(st:st+S(jj,1)^2-1)=hthresh(coeh,thr)

end

st=st+S(jj,1)^2

%对于垂直高频系数

coev=C(st:st+S(jj,1)^2-1)

sigmav=median(abs(coev))/0.6745

thr=sigmav*sqrt(2*log10(length(coev)))

if sorh==1

djC(st:st+S(jj,1)^2-1)=sthresh(coev,thr)

end

if sorh==2

djC(st:st+S(jj,1)^2-1)=hthresh(coev,thr)

end

st=st+S(jj,1)^2

%对于对角高频系数

coed=C(st:st+S(jj,1)^2-1)

sigmad=median(abs(coed))/0.6745

thr=sigmav*sqrt(2*log10(length(coed)))

if sorh==1

djC(st:st+S(jj,1)^2-1)=sthresh(coed,thr)

end

if sorh==2

djC(st:st+S(jj,1)^2-1)=hthresh(coed,thr)

end

st=st+S(jj,1)^2

end

B=waverec2(djC,S,filtertype)%重构图像

%}

subplot(122),imshow(uint8(B))title('de-noised image')

%imwrite(B,'fab5.bmp')%保存图像在m文件的路径中

%计算信噪比

t=0

for i=1:m

for j=1:n

t=t+(abs(B(i,j)-A(i,j)))^2

end

end

mse=t/(m*n)%图像均方误差

psnr=10*log10((255^2)/mse)%峰值信噪比

display('mse:')

mse

display('psnr:')

psnr

给你两个程序语句,你试试吧

D=detcoef2O,C,S,N)实现提取小波分解高频系数

[C,S]是信号的二维小波分解结构,尺度N必须为正整数且1<=N<=size(S,1)-2, O取值为'v'(h或d),当O为'h‘表示提取水平方向细数,为v时表垂直方向 为d时提取斜线方向。

A=appcoef2(C,S,'wname',N)用于提取二维小波分解的低频系数。N为尺度同上,希望对你有所帮助

小波分析后,你也没处理,组合起来依然是原信号啊。方差不会变的。

你用连续小波变换,得到了1:43尺度下的小波基系数组z(i)。

如果你指的是在一定分纤迅辨率下,该信号在某个尺度上投射的分量的方差。

就用z(i)乘以这个小波φ(τ,σ)基。在用昌帆STD求方差呗。

另外毁迅此,站长团上有产品团购,便宜有保证


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12452817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存