下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1加图标ID_FFT,类向导在视类添加相应函数2BMP文件中增加:BITMAPINFO* lpDIB = NULL; /原时域图像BITMAPINFO* lpDIB_FFT = NULL; /频谱图像static DWORD LineBytes = 0; /图像每行像素所占字节数static LONG size = 0; /图像实际数据所占字节数注意:在LoadBmpFile函数中/删除LONG size= sizeof(BITMAPINFOHEADER) + NumColors * sizeof(RGBQUAD) + ImgSize;中的LONG/删除 DWORD LineBytes = (
2、bi.biWidth * bi.biBitCount + 31)/32 * 4;中的DWORD/在“if (NULL = (lpBitsInfo = (LPBITMAPINFO) malloc(size)return FALSE;”后面给lpDIB分配内存“if (NULL = (lpDIB= (LPBITMAPINFO) malloc(size)return FALSE; “/在“fread(char*)lpBitsInfo, size, 1, fp);”后面添加“lpDIB = lpBitsInfo”在视类OnDraw前中增加:extern BITMAPINFO *lpDIB_FFT;ex
3、tern BITMAPINFO *lpDIB;OnDraw中增加:if (lpDIB_FFT)lpBits = (LPVOID)&lpDIB_FFT-bmiColorslpDIB_FFT-bmiHeader.biClrUsed;StretchDIBits( pDC-GetSafeHdc(),600,0,lpDIB_FFT-bmiHeader.biWidth,lpDIB_FFT-bmiHeader.biHeight,0,0,lpDIB_FFT-bmiHeader.biWidth,lpDIB_FFT-bmiHeader.biHeight,lpBits,lpDIB_FFT, / bitmap dat
4、a DIB_RGB_COLORS,SRCCOPY);3在视类添加void Fourier();void CFFTView:OnFft() if (lpDIB_FFT)free(lpDIB_FFT);Fourier();Invalidate();void CFFTView:OnUpdateFft(CCmdUI* pCmdUI) pCmdUI-Enable(lpDIB != NULL);4BMP文件前面添加#include using namespace std;(PPT中Copy)#define PI 3.4BMP文件中添加函数void Fourier()5BMP文件中添加函数一维傅里叶变换函数
5、FFT()(红色加粗是需要自己写的,其他的为PPT中Copy)void FFT(complex * TD, complex * FD, int r)/ 计算付立叶变换点数LONG count = 1 r;/ 计算加权系数int i;double angle;complex* W = new complexcount / 2;for(i = 0; i count / 2; i+)angle = -i * PI * 2 / count;Wi = complex (cos(angle), sin(angle);/ 将时域点写入X1complex* X1 = new complexcount;memc
6、py(X1, TD, sizeof(complex) * count);/ 采用蝶形算法进行快速付立叶变换,输出为频域值X2complex* X2 = new complexcount; int k,j,p,size;complex* temp;for (k = 0; k r; k+)for (j = 0; j 1 k; j+)size = 1 (r-k);for (i = 0; i size/2; i+)p = j * size;X2i + p = X1i + p + X1i + p + size/2;X2i + p + size/2 = (X1i + p - X1i + p + size/
7、2) * Wi * (1k);temp = X1;X1 = X2;X2 = temp;/ 重新排序(码位倒序排列)for (j = 0; j count; j+)p = 0;for (i = 0; i r; i+)if (j & (1i)p += 1bmiHeader.biWidth;int height = lpDIB-bmiHeader.biHeight;/指向图像数据指针BYTE* lpBits = (BYTE*)&lpDIB-bmiColorslpDIB-bmiHeader.biClrUsed;/ FFT宽度(必须为2的整数次方)int FFT_w = 1;/ FFT宽度的幂数,即迭代
8、次数int wp = 0;while(FFT_w * 2 = width)FFT_w *= 2;wp +;/ FFT高度(必须为2的整数次方)int FFT_h = 1;/ FFT高度的幂数,即迭代次数int hp = 0;while(FFT_h * 2 = height)FFT_h *= 2;hp +;/ 分配内存complex* TD = new complexFFT_w * FFT_h;complex* FD = new complexFFT_w * FFT_h;int i, j;BYTE* pixel;for(i = 0; i FFT_h; i+) / 行for(j = 0; j FF
9、T_w; j+) / 列/ 指向DIB第i行,第j个象素的指针pixel = lpBits + LineBytes * (height - 1 - i) + j;/ 给时域赋值TDj + FFT_w * i = complex(*pixel, 0);for(i = 0; i FFT_h; i+)/ 对y方向进行快速付立叶变换FFT(&TDFFT_w * i, &FDFFT_w * i, wp);/ 保存中间变换结果for(i = 0; i FFT_h; i+)for(j = 0; j FFT_w; j+)TDi + FFT_h * j = FDj + FFT_w * i;for(i = 0; i bmiColorslpDIB_FFT-bmiHeader.biClrUsed;double temp;for(i = 0; i FFT_h; i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国人民财产保险股份有限公司山亭支公司招聘10人备考题库含答案详解(精练)
- 2026湖北长江广电整合传播有限公司招聘工作人员16人备考题库及1套参考答案详解
- 2026广西北部湾国际港务集团有限公司春季招聘273人备考题库附答案详解(巩固)
- 安徽蚌埠市五河县教育系统2026届紧缺专业人才“校园招聘”5人备考题库含答案详解(新)
- 2026广东佛山顺德区职工解困基金会选聘专职秘书长人选的1人备考题库及参考答案详解1套
- 2026甘肃平凉市第三批市直单位公益性岗位工作人员招聘23人备考题库附答案详解(培优a卷)
- 2026江西上犹县总医院招聘劳务派遣制工作人员5人备考题库含答案详解(夺分金卷)
- 2026新疆双河国农食品有限公司招聘1人备考题库有答案详解
- 2026四川宜宾筠连县沐盛农业开发有限公司招聘1人备考题库及答案详解(全优)
- 营养与中职饮食管理
- 大学技术经理人管理办法
- 2025英德辅警考试真题
- 日常课间守护活动方案
- 2025-2030中国永磁无刷电机行业发展形势与前景动态预测报告
- 安徽国元农业保险股份有限公司招聘笔试题库2025
- 《民族团结一家亲同心共筑中国梦》主题班会
- 道路损坏修缮协议书模板
- 全国民用建筑工程设计技术规范
- 博士论文写作精解
- 数字普惠金融对粮食供应链韧性的影响研究
- 2024年11月医用冷库建设合同3篇
评论
0/150
提交评论