2012-01-01 44 views
0

我正在尋找將IplImage *傳遞給函數並在該函數中顯示圖像。我的代碼如下。在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函數中。一個空的窗口被創建,稱爲「調試」。

請幫忙。

回答

0

從主函數中刪除cvReleaseImage行。

+0

謝謝。有效。 – wrahool 2012-01-01 11:56:01

1

在之前,你在imgIN上做了cvReleaseImage。我不熟悉opencv,但我不希望cvShowImage在此之後工作。

+0

是的,所以我想通了。 – wrahool 2012-01-01 11:56:37