openCV傅里叶变换及逆变换实现代码 |
您所在的位置:网站首页 › 易经所有卦象图解 › openCV傅里叶变换及逆变换实现代码 |
/* opencv 的傅里叶变换及逆变换实现。傅里叶变换需要将数据表示为复数形式,通过一个两通道矩阵
来记录复数的实部和虚部, 然后通过 cvDFT 来实现变换。 对于图片变换也是一样, 只是矩阵换成 IplImage
格式,用两个单通道图片来分别表示实部和虚部,用两通道图片来存放变换结果。
*/ #include
#include
#include
#include
usingnamespace std;
int main( int argc, char *argv[]) {
float r[] = {23,23,214,214,32,53};
float i[] = {22,32,33,42,31,12};
CvMat *re = cvCreateMat(1,6,CV_32FC1); // 实部
CvMat *im = cvCreateMat(1,6,CV_32FC1); // 虚部
CvMat *re_dst = cvCreateMat(1,6,CV_32FC1); // 变换后实部
CvMat *im_dst = cvCreateMat(1,6,CV_32FC1); // 变换后虚部
CvMat *re_ = cvCreateMat(1,6,CV_32FC1); // 反变换后实部
CvMat *im_ = cvCreateMat(1,6,CV_32FC1); // 反变换后虚部
cvInitMatHeader(re, 1, 6, CV_32FC1, r); // 初始化实部
cvInitMatHeader(im, 1, 6, CV_32FC1, i); // 初始化虚部
CvMat *sum_src = cvCreateMat(1,6,CV_32FC2); // 实部虚部结合体
CvMat *sum_dst = cvCreateMat(1,6,CV_32FC2); // 变换后实部虚部结合体
CvMat *sum_ = cvCreateMat(1,6,CV_32FC2); // 反变换后实部虚部结合体
cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |