我希望将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”的空窗口。
请帮忙。
答案 0 :(得分:1)
在将cvReleaseImage
传递给imgIN
之前,您doPyrDown
{{1}}。我不熟悉opencv,但我不希望cvShowImage在那之后工作。
答案 1 :(得分:0)
从main函数中删除cvReleaseImage行。