ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:17.90KB ,
资源ID:4698052      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4698052.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(小波变换C语言实现代码.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

小波变换C语言实现代码.docx

1、小波变换C语言实现代码#include #include#define height 256#define width 256void twoDDWT(double orgwidth, double dwtwidth,int NumofBand);void oneDDWT(int flag, double orgwidth, double dwtwidth);void twoDIDWT(double dwtwidth, double recwidth,int NumofBand);void oneDIDWT(int flag, double dwtwidth, double recwidth)

2、;int main() int i, j; double orgheightwidth, dwtheightwidth,recheightwidth; FILE *lena; FILE *lena3; FILE *lena4; lena = fopen(c:lena.raw, rb); lena3 = fopen(c:lena3.raw, wb); lena4 = fopen(c:lena4.raw, wb); for (i = 0; i height; i+) for (j = 0; j width; j+) orgij = fgetc(lena); twoDDWT(org, dwt,4);

3、 for (i = 0; i height/2; i+) for (j = 0; j width/2; j+) orgij=dwtij; twoDDWT(org, dwt,7); for (i = 0; i height; i+) for (j = 0; j width; j+) fputc(dwtij, lena3); twoDIDWT(dwt, rec,7); for (i = 0; i height/2; i+) for (j = 0; j width/2; j+) dwtij=recij; twoDIDWT(dwt, rec,4); for (i = 0; i height; i+)

4、for (j = 0; j width; j+) fputc(recij, lena4); return 0;void twoDDWT(double orgwidth, double dwtwidth,int NumofBand) if (NumofBand=4) oneDDWT(0, org, dwt); oneDDWT(1, org, dwt); if (NumofBand=7) oneDDWT(2, org, dwt); oneDDWT(3, org, dwt); void oneDDWT(int flag, double orgwidth, double dwtwidth) int i

5、, j; double tempheightwidth, temp1heightwidth; double f_LPF = -0.125, 0.25, 0.75, 0.25, -0.125 ; double f_HPF = -0.5, 1, -0.5 ; if (flag = 0)/vertical direction for (i = 0; i height; i+) for (j = 0; j 1 & j height-2) tempij = f_LPF0 * orgij - 2 + f_LPF1 * orgij - 1 + f_LPF2 * orgij + f_LPF3 * orgij

6、+ 1 + f_LPF4 * orgij + 2; else if (j = height-2) tempij = f_LPF0 * orgij - 2 + f_LPF1 * orgij - 1 + f_LPF2 * orgij + f_LPF3 * orgij + 1 + f_LPF4 * orgij; else if (j = height-1) tempij = f_LPF0 * orgij - 2 + f_LPF1 * orgij - 1 + f_LPF2 * orgij + f_LPF3 * orgij - 1 + f_LPF4 * orgij - 2; for (i = 0; i

7、height; i+) for (j = 0; j width/2; j+) dwtij = tempij * 2 + 1; for (i = 0; i height; i+) for (j = 0; j 0 & j height-1) tempij = f_HPF0 * orgij - 1 + f_HPF1 * orgij + f_HPF2 * orgij + 1; else if (j = height-1) tempij = f_HPF0 * orgij - 1 + f_HPF1 * orgij + f_HPF2 * orgij - 1; for (i = 0; i height; i+

8、) for (j = 0; j width/2; j+) dwtij + width/2 = tempij * 2; if (flag = 1)/horizontal direction for (i = 0; i height; i+) for (j = 0; j 1 & i width-2) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti + 1j + f_LPF4 * dwti + 2j; else if (i = width-2) tempij = f_LPF0 * dw

9、ti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti + 1j + f_LPF4 * dwtij; else if (i = width-1) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti - 1j + f_LPF4 * dwti - 2j; for (i = 0; i height; i+) for (j = 0; j width; j+) temp1ij = tempi * 2 + 1j; for (i

10、= 0; i height; i+) for (j = 0; j 0 & i width-1) tempij = f_HPF0 * dwti - 1j + f_HPF1 * dwtij + f_HPF2 * dwti + 1j; else if (i = width-1) tempij = f_HPF0 *dwti - 1j + f_HPF1 * dwtij + f_HPF2 * dwti - 1j; for (i = 0; i height; i+) for (j = 0; j width/2; j+) temp1ij+width/2 = tempi * 2j; for (i = 0; i

11、height; i+) for (j = width/2; j 1 & i height-2) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti + 1j + f_LPF4 * dwti + 2j; else if (i = height-2) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti + 1j + f_LPF4 * dwtij; else if (i = he

12、ight-1) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti - 1j + f_LPF4 * dwti - 2j; for (i = 0; i height; i+) for (j = width/2; j width; j+) temp1i+height/2j-width/2 = tempi * 2 + 1j; for (i = 0; i height; i+) for (j = width/2; j 0 & i height-1) tempij = f_HPF0 * dwt

13、i - 1j + f_HPF1 * dwtij + f_HPF2 * dwti + 1j; else if (i = height-1) tempij = f_HPF0 * dwti - 1j + f_HPF1 * dwtij + f_HPF2 * dwti - 1j; for (i = 0; i height; i+) for (j = width/2; j width; j+) temp1i +height/2j = tempi * 2j; for (i = 0; i height; i+) for (j = 0; j width; j+) dwtij = temp1ij; if (fla

14、g = 2)/vertical direction for (i = 0; i height/2; i+) for (j = 0; j 1 & j height/2-2) tempij = f_LPF0 * orgij - 2 + f_LPF1 * orgij - 1 + f_LPF2 * orgij + f_LPF3 * orgij + 1 + f_LPF4 * orgij + 2; else if (j = height/2-2) tempij = f_LPF0 * orgij - 2 + f_LPF1 * orgij - 1 + f_LPF2 * orgij + f_LPF3 * org

15、ij + 1 + f_LPF4 * orgij; else if (j = height/2-1) tempij = f_LPF0 * orgij - 2 + f_LPF1 * orgij - 1 + f_LPF2 * orgij + f_LPF3 * orgij - 1 + f_LPF4 * orgij - 2; for (i = 0; i height/2; i+) for (j = 0; j width/4; j+) dwtij = tempij * 2 + 1; for (i = 0; i height/2; i+) for (j = 0; j 0 & j height-1) temp

16、ij = f_HPF0 * orgij - 1 + f_HPF1 * orgij + f_HPF2 * orgij + 1; else if (j = height-1) tempij = f_HPF0 * orgij - 1 + f_HPF1 * orgij + f_HPF2 * orgij - 1; for (i = 0; i height/2; i+) for (j = 0; j width/4; j+) dwtij + width/4 = tempij * 2; if (flag = 3)/horizontal direction for (i = 0; i height/2; i+)

17、 for (j = 0; j 1 & i height/2-2) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti + 1j + f_LPF4 * dwti + 2j; else if (i = height/2-2) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti + 1j + f_LPF4 * dwtij; else if (i = height/2-1) tempij = f_LPF0 * dwti - 2j + f_LPF1 * dwti - 1j + f_LPF2 * dwtij + f_LPF3 * dwti - 1j + f_LPF4 * dwti - 2j; for (i = 0; i height/4; i+) for (j = 0; j width/4; j+) temp1ij = tempi * 2 + 1j; for (i = 0; i height/2; i+) for (j = 0; j width/4; j+) if (i = 0) tempij = f_HPF0 * dwti + 1j

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

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