【opencv之矩阵的傅里叶变换】
//输入一个图像矩阵
Mat I = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
//数据类型的转换
Mat fI;
I.convertTo(fI, CV_64F);
//傅里叶变换
Mat F;
dft(fI, F, DFT_COMPLEX_OUTPUT);//傅里叶变换逆矩阵
Mat iF;
dft(F, iF, DFT_REAL_OUTPUT + DFT_INVERSE +DFT_SCALE);
//计算的iF是浮点型,转换为cv_8u
Mat II;
iF.convertTo(II, CV_8U);
//最终得到的II和I 是一样的矩阵
但是说到这个这个傅里叶变换,据一位博主说的是吧所有周期函数都通过三角函数,傅里叶变换是,从图像变为实矩阵,再变为复矩阵,再傅里叶逆变化,变为原来的矩阵,然后再转变为原来的矩阵 。
涉及到傅里叶变换的原理,参考下文,写的真的很好,不过我还没看懂,先拿来用
https://blog.csdn.net/guyuealian/article/details/72817527?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2%E6%9C%89%E4%BB%80%E4%B9%88%E7%94%A8&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-3-72817527.142v33new_blog_fixed_pos,185v2control&spm=1018.2226.3001.4187
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
