2011-04-10 99 views
1

我有IplImage *結構,我試圖有一個循環向用戶顯示圖像,並詢問他們是否顯示圖像是確定的。如何在循環中顯示opencv中的圖像?

基本上在顯示圖片時通過這種方法使用cvShowImage的作品。但是,由於它是循環的,它似乎沒有工作。我只看到一個灰色的屏幕,直到我點擊y。如果我點擊了y,它會打開,然後顯示圖像。

這是我所擁有的要點。

char response; 
    int showing_img = 1; 

    SaveImage1(); // these methods just save the IplImage structure. 
    SaveImage2(); 

    cvShowImage("Image 1", img_1); 
    cvShowImage("Image 2", img_2); 

    while (1) 
    { 
     if (!showing_img) 
     { 
      cvShowImage("Image 1", img_1); 
      cvShowImage("Image 2", img_2); 
      showing_img = 1; 
     } 

     printf("Are these good? y/n please\n"); 
     scanf("%c", &response); 
     if (response == 'y') 
     { 
      break; 
     } 
     if (response == 'n') 
     { 
      cvReleaseImage(&img_1); 
      cvReleaseImage(&img_2); 
      showing_img = 0; 
      SaveImage1(1); 
      SaveImage2(1); 
     } 
    } 

如何我應該這樣做,而不是?

回答

1

您必須讓系統更新圖像。在循環中插入對cvWaitKey的調用,以解決您的問題。