opencv中 idft与 mathlab中 ifft2结果不对应的解决方案
最近几天做毕设就遇见了这种情况。。。
示例
对如下矩阵
1 2 34 5 67 8 9
matlab ifft2D结果如下:
5.0000 + 0.0000i -0.5000 - 0.2887i -0.5000 + 0.2887i-1.5000 - 0.8660i 0.0000 + 0.0000i 0.0000 + 0.0000i-1.5000 + 0.8660i 0.0000 + 0.0000i 0.0000 + 0.0000i
可以看到结果应是复数,对应于opencv结果就应是浮点双通道类型
,然而opencv的结果如下:
4.33333 -4.13077 2.79743-2.10313 -0.103134 -2.83518
-0.563533 2.16852 1.43647
可见idft的结果是不对应的,导致的原因是 形参的 src与dst 类型不对应,都应该为双通道类型,对上述例子,src与dst的类型都应为 CV_64FC2,
解决方案如下:
//该问题是我在写log-gabor核中遇到的,此处gFilter即为所需要idft的src//complex即为src的CV_64FC2类型,以下操作即将通道1设置为gFilter,通道2设置为0,将2者merge为一个CV_64FC2类型的complexMat complex(gFilter.rows, gFilter.cols,CV_64FC2); Mat planes[] = {Mat_<double>(gFilter), Mat::zeros(gFilter.size(),CV_64FC1)};//planes是 实部是gFilter,虚部为0cv::merge(planes, 2, complex); //EO为dstMat EO(complex.rows, complex.cols, CV_64FC2);//注意第三个形参的参数,需设置为DFT+COMPLEX_OUTPUT+DFT_SCALE idft(complex, EO, DFT_COMPLEX_OUTPUT + DFT_SCALE);
opencv中 idft与 mathlab中 ifft2结果不对应的解决方案相关推荐
- 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)
使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...
- 【从零学习OpenCV 4】安装过程中问题解决方案
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...
- opencv:在二维定标中的应用
[写在前面] opencv在二维定标中的应用 参考链接: http://www.cnblogs.com/chita/ OPENCV立体标定 https://wenku.baidu.com/view/e ...
- OpenCV使用dnn从图像中解析人体部位的实例(附完整代码)
OpenCV使用dnn从图像中解析人体部位的实例 OpenCV使用dnn从图像中解析人体部位的实例 OpenCV使用dnn从图像中解析人体部位的实例 #include <opencv2/dnn. ...
- OpenCV在相机或图像中检测QR码的实例(附完整代码)
OpenCV在相机或图像中检测QR码的实例 OpenCV在相机或图像中检测QR码的实例 OpenCV在相机或图像中检测QR码的实例 #include "opencv2/objdetect.h ...
- OpenCV中cvAdds和cvAdd中的mask的用法探讨
OpenCV中cvAdds和cvAdd中的mask的用法探讨 Fn : 包含 mask 参数的一些函数如下 [摘自opencv 2.3.1版本 C++] void add(InputArray src ...
- MFC使用OpenCV在文档窗口中显示图像(支持多图片格式)
MFC使用OpenCV在文档窗口中显示图像 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/72550659 在VS ...
- 使用OpenCV和Python从图像中提取形状
Welcome to the first post in this series of blogs on extracting features from images using OpenCV an ...
- opencv 从原始的图像中找出ROI区域
http://blog.csdn.net/chentravelling/article/details/45331225 opencv 从原始的图像中找出ROI区域 #include <iost ...
最新文章
- JS的trim()方法
- anaconda自带python_基于anaconda来解决Python安装问题
- webpack打包html里面img后src为“[object Module]”问题
- 使用angular2 自带的指令,快捷创建服务,组件等!
- C语言学习之用指针方法对10个整数按由大到小顺序排序
- linux中标准I/O 文件I/O 及库
- Oracle OCM 认证指南
- Python sqlalchemy orm 多外键关联
- Ubuntu16.04下在Anaconda里面安装opencv
- 真我手机信号好还是苹果三星信号好?
- java里equals_Java中equals和==的区别
- nginx下Thinkphp 隐藏index.php
- 数据分析工作常见的七种错误及规避技巧
- 统计(statistic)(二分查找+离散化)
- 报表工具ActiveReports开发实例——物联网智能供水云平台
- 从键盘输入一个阿拉伯数字,输出对应的财务数字, 用switch。/*零、壹、贰、叁、肆、伍、陆、柒、捌、玖、亿、万、仟、佰、拾。
- 关于Adobe flash player 本地播放器
- 宏基服务器 安装系统,手把手教你acer宏碁笔记本电脑如何重装系统
- 【逗老师的小技巧】群晖Synology更改存储池和存储空间编号
- 谷歌浏览器f12功能修改服务器代码,Chrome(谷歌)控制台,console实用教程
热门文章
- 主机Ping不通虚拟机
- android siri声波动画,Waver声波效果开源项目:和 Siri 一起学数学
- html 预选单选按钮,关于html:单选按钮的预选
- dropbox为什么被屏蔽_Python社区和Dropbox为增加多样性而采取的步骤
- 线性代数之特征值与特征向量的求法
- edge打开pdf不显示印章_win10 Edge浏览器打不开pdf文件的解决方法
- 电路基础学习笔记5:实验验证电压源与电流源的等效变换
- 安卓电子书格式_纯干货|提升电子书阅读体验的四点感受
- utc时间怎么转换北京时间?
- 富文本编辑器上传图片的功能