openCV矩阵操作之——虚数矩阵. OpenCV complex Matrix Initializing.

我们可以用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 >(i,j)= k++;
        }

} // 将矩阵的每个值都设为 1 + 0j

dft(img, img);//做傅立叶变换,结果替换原来的img

输出img后便可发现得到了正确的值!


鄙人一开是是用float来存储,结果一直得不到正确值!


第一次在csdn写东西,希望这篇日志能对大家有帮助。

你可能感兴趣的:(openCV矩阵操作之——虚数矩阵. OpenCV complex Matrix Initializing.)