#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
/**************************************************************************
//傅里叶变换
//src IPL_DEPTH_8U
//dst IPL_DEPTH_64F
/**************************************************************************/
void fft2(IplImage *src, IplImage *dst)
{
IplImage *image_Re = 0, *image_Im = 0, *Fourier = 0; //实部、虚部
image_Re = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 1); //实部
image_Im = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 1); //虚部
Fourier = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 2);//2 channels (image_Re, image_Im)
cvConvertScale(src, image_Re, 1, 0);// Real part conversion from u8 to 64f (double)
cvZero(image_Im);// Imaginary part (zeros)
cvMerge(image_Re, image_Im, 0, 0, Fourier);// Join real and imaginary parts and stock them in Fourier image
cvDFT(Fourier, dst, CV_DXT_FORWARD);// Applicati
OpenCV实现傅里叶变换
最新推荐文章于 2024-09-11 21:04:26 发布