小波变换C语言实现代码Word格式.docx
- 文档编号:19557910
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:28
- 大小:17.92KB
小波变换C语言实现代码Word格式.docx
《小波变换C语言实现代码Word格式.docx》由会员分享,可在线阅读,更多相关《小波变换C语言实现代码Word格式.docx(28页珍藏版)》请在冰豆网上搜索。
voidoneDIDWT(intflag,doubledwt[][width],doublerec[][width]);
intmain()
{
inti,j;
doubleorg[height][width],dwt[height][width],rec[height][width];
FILE*lena;
FILE*lena3;
FILE*lena4;
lena=fopen("
c:
\\"
"
rb"
);
lena3=fopen("
wb"
lena4=fopen("
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[]={,,,,};
doublef_HPF[]={,1,};
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]+f_HP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 变换 语言 实现 代码