在opencv中传递IplImage指针

时间:2012-01-01 06:11:29

标签: c++ eclipse ubuntu opencv

我希望将IplImage *传递给函数并在该函数中显示图像。我的代码如下。

#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <cv.h>
#include <highgui.h>


IplImage* doPyrDown(IplImage* in) {

    cvNamedWindow( "Debug", CV_WINDOW_AUTOSIZE );
    cvShowImage("Debug", in );
    cvWaitKey(0);
    cvReleaseImage(&in );

    IplImage* out = 0;
    return( out );
}

int main(int argc, char *argv[])
{

    cvNamedWindow( "Example6-in", CV_WINDOW_AUTOSIZE );

    IplImage* imgIN = 0;
    IplImage* imgOUT = 0;

    imgIN = cvLoadImage("image.jpg");
    cvShowImage("Example6-in", imgIN );
    cvWaitKey(0);
    cvReleaseImage(&imgIN );

    imgOUT = doPyrDown(imgIN);

    return 0;
}

原始图像显示在主功能中。但是图像没有显示在doPyrDown函数中。正在创建一个名为“Debug”的空窗口。

请帮忙。

2 个答案:

答案 0 :(得分:1)

在将cvReleaseImage传递给imgIN之前,您doPyrDown {{1}}。我不熟悉opencv,但我不希望cvShowImage在那之后工作。

答案 1 :(得分:0)

从main函数中删除cvReleaseImage行。