做计算时要用到OpenCV的一些图像操作函数,在将数组转化成灰度图时,遇到一个内存问题,后来解决了。
IplImage *fftw2IPIImg(fftw_complex *inx, int ny, int nx)
{
CvMat* M = cvCreateMat(ny,nx,CV_32FC1);
for (int i=0;i<nx;i++)
for (int j=0;j<ny;j++)
{
float pixel = inx[i*ny+j][0];
CV_MAT_ELEM(*M,float,j,i) = pixel;
}
IplImage* img = cvCreateImage(cvSize(nx,ny), IPL_DEPTH_8U, 1);