我们可以用2D矩阵来记录图片信息,然后对其进行傅立叶变换之类,这里就要考虑到一个问题,傅立叶变换之后值是一个复数值,怎样声明矩阵才能保证举证内的值不发生改变呢?
Mat img(3, 3, CV_64FC2); //声明矩阵为64位双通道
for(unsigned i = 0; i < 3; i++){
for(unsigned j = 0; j < 3; j++){
img.at<std::complex<double> >(i,j)= k++;
}
} // 将矩阵的每个值都设为 1 + 0j
dft(img, img);//做傅立叶变换,结果替换原来的img
输出img后便可发现得到了正确的值!
鄙人一开是是用float来存储,结果一直得不到正确值!
第一次在csdn写东西,希望这篇日志能对大家有帮助。
最后
以上就是虚心乌龟最近收集整理的关于openCV矩阵操作之——虚数矩阵. OpenCV complex Matrix Initializing.的全部内容,更多相关openCV矩阵操作之——虚数矩阵.内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复