小波变换C语言实现代码Word格式文档下载.docx

上传人:b****3 文档编号:17632942 上传时间:2022-12-07 格式:DOCX 页数:28 大小:17.90KB
下载 相关 举报
小波变换C语言实现代码Word格式文档下载.docx_第1页
第1页 / 共28页
小波变换C语言实现代码Word格式文档下载.docx_第2页
第2页 / 共28页
小波变换C语言实现代码Word格式文档下载.docx_第3页
第3页 / 共28页
小波变换C语言实现代码Word格式文档下载.docx_第4页
第4页 / 共28页
小波变换C语言实现代码Word格式文档下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

小波变换C语言实现代码Word格式文档下载.docx

《小波变换C语言实现代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《小波变换C语言实现代码Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。

小波变换C语言实现代码Word格式文档下载.docx

inti,j;

doubleorg[height][width],dwt[height][width],rec[height][width];

FILE*lena;

FILE*lena3;

FILE*lena4;

lena=fopen("

c:

\\lena.raw"

"

rb"

);

lena3=fopen("

\\lena3.raw"

wb"

lena4=fopen("

\\lena4.raw"

for(i=0;

i<

height;

i++)

{

for(j=0;

j<

width;

j++)

{

org[i][j]=fgetc(lena);

}

}

twoDDWT(org,dwt,4);

height/2;

{

width/2;

org[i][j]=dwt[i][j];

twoDDWT(org,dwt,7);

fputc(dwt[i][j],lena3);

twoDIDWT(dwt,rec,7);

dwt[i][j]=rec[i][j];

twoDIDWT(dwt,rec,4);

fputc(rec[i][j],lena4);

return0;

}

voidtwoDDWT(doubleorg[][width],doubledwt[][width],intNumofBand)

if(NumofBand==4)

oneDDWT(0,org,dwt);

oneDDWT(1,org,dwt);

if(NumofBand==7)

oneDDWT(2,org,dwt);

oneDDWT(3,org,dwt);

}

voidoneDDWT(intflag,doubleorg[][width],doubledwt[][width])

doubletemp[height][width],temp1[height][width];

doublef_LPF[]={-0.125,0.25,0.75,0.25,-0.125};

doublef_HPF[]={-0.5,1,-0.5};

if(flag==0)//verticaldirection

for(i=0;

{

for(j=0;

{

if(j==0)

temp[i][j]=f_LPF[0]*org[i][j+2]+f_LPF[1]*org[i][j+1]+f_LPF[2]*org[i][j]+f_LPF[3]*org[i][j+1]+f_LPF[4]*org[i][j+2];

elseif(j==1)

temp[i][j]=f_LPF[0]*org[i][j]+f_LPF[1]*org[i][j-1]+f_LPF[2]*org[i][j]+f_LPF[3]*org[i][j+1]+f_LPF[4]*org[i][j+2];

elseif(j>

1&

&

height-2)

temp[i][j]=f_LPF[0]*org[i][j-2]+f_LPF[1]*org[i][j-1]+f_LPF[2]*org[i][j]+f_LPF[3]*org[i][j+1]+f_LPF[4]*org[i][j+2];

elseif(j==height-2)

temp[i][j]=f_LPF[0]*org[i][j-2]+f_LPF[1]*org[i][j-1]+f_LPF[2]*org[i][j]+f_LPF[3]*org[i][j+1]+f_LPF[4]*org[i][j];

elseif(j==height-1)

temp[i][j]=f_LPF[0]*org[i][j-2]+f_LPF[1]*org[i][j-1]+f_LPF[2]*org[i][j]+f_LPF[3]*org[i][j-1]+f_LPF[4]*org[i][j-2];

}

dwt[i][j]=temp[i][j*2+1];

temp[i][j]=f_HPF[0]*org[i][j+1]+f_HPF[1]*org[i][j]+f_HPF[2]*org[i][j+1];

0&

height-1)

temp[i][j]=f_HPF[0]*org[i][j-1]+f_HPF[1]*org[i][j]+f_HPF[2]*org[i][j+1];

temp[i][j]=f_HPF[0]*org[i][j-1]+f_HPF[1]*org[i][j]+f_HPF[2]*org[i][j-1];

dwt[i][j+width/2]=temp[i][j*2];

if(flag==1)//horizontaldirection

if(i==0)

temp[i][j]=f_LPF[0]*dwt[i+2][j]+f_LPF[1]*dwt[i+1][j]+f_LPF[2]*dwt[i][j]+f_LPF[3]*dwt[i+1][j]+f_LPF[4]*dwt[i+2][j];

elseif(i==1)

temp[i][j]=f_LPF[0]*dwt[i][j]+f_LPF[1]*dwt[i-1][j]+f_LPF[2]*dwt[i][j]+f_LPF[3]*dwt[i+1][j]+f_LPF[4]*dwt[i+2][j];

elseif(i>

width-2)

temp[i][j]=f_LPF[0]*dwt[i-2][j]+f_LPF[1]*dwt[i-1][j]+f_LPF[2]*dwt[i][j]+f_LPF[3]*dwt[i+1][j]+f_LPF[4]*dwt[i+2][j];

elseif(i==width-2)

temp[i][j]=f_LPF[0]*dwt[i-2][j]+f_LPF[1]*dwt[i-1][j]+f_LPF[2]*dwt[i][j]+f_LPF[3]*dwt[i+1][j]+f_LPF[4]*dwt[i][j];

elseif(i==width-1)

temp[i][j]=f_LPF[0]*dwt[i-2][j]+f_LPF[1]*dwt[i-1][j]+f_LPF[2]*dwt[i][j]+f_LPF[3]*dwt[i-1][j]+f_LPF[4]*dwt[i-2][j];

temp1[i][j]=temp[i*2+1][j];

temp[i][j]=f_HPF[0]*dwt[i+1][j]+f_HPF[1]*dwt[i][j]+f_HPF[2]*dwt[i+1][j];

width-1)

temp[i][j]=f_HPF[0]*dwt[i-1][j]+f_HPF[1]*dwt[i][j]+f_HPF[2]*dwt[i+1][j];

temp[i][j]=f_HPF[0]*dwt[i-1][j]+f_HPF[1]*dwt[i][j]+f_HPF[2]*dwt[i-1][j];

temp1[i][j+width/2]=temp[i*2][j];

for(j=width/2;

elseif(i==height-2)

elseif(i==height-1)

temp1[i+height/2][j-width/2]=temp[i*2+1][j];

temp[i][j]=f_HPF[0]*dwt[i-1][j]+f_HPF[1]*dwt[i][j]+f_HPF[2]*dwt[i-1][j];

temp1[i+height/2][j]=temp[i*2][j];

dwt[i][j]=temp1[i][j];

if(flag==2)//verticaldirection

height/2-2)

elseif(j==height/2-2)

elseif(j==height/2-1)

width/4;

dwt[i][j+width/4]=temp[i][j*2];

if(flag==3)//horizontaldirection

elseif(i==height/2-2)

elseif(i==height/2-1)

height/4;

temp[i][j]=f_HPF[0]*dwt[i+1][j

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1