我有IplImage *
结构,我正在尝试使用循环向用户显示图像,并询问他们所显示的图像是否正常。
基本上,在传递这种使用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);
}
}
我应该怎么做呢?
答案 0 :(得分:1)
您必须让系统更新图像。在循环中插入对cvWaitKey的调用,这应该可以解决您的问题。