正如标题所暗示的那样,我只是试图让一个命名的窗口出现。我已经和OpenCV合作了一年多了,之前从未遇到过这个问题。出于某种原因,窗口永远不会打开。我尝试过运行一些旧脚本,一切正常。
作为一个非常简单的例子,见下文
#include "cv.h"
#include "highgui.h"
int main(int argc, char** argv) {
cvNamedWindow( "video", 0 );
IplImage *im = cvCreateImage( cvSize(200,200), 8, 3 );
while(1) {
cvShowImage( "video", im );
}
return 0;
}
我看不出为什么这样做不起作用,但由于某种原因,窗口永远不会出现。 还有其他人经历过这个吗?它正在努力!
答案 0 :(得分:2)
只需在循环中调用cvWaitKey(int milliseconds)
即可。此功能通知GUI系统运行图形挂起事件。
你的代码应该是这样的:
int main(int argc, char** argv) {
cvNamedWindow( "video", 0 );
IplImage *im = cvCreateImage( cvSize(200,200), 8, 3 );
while(1) {
cvShowImage( "video", im );
cvWaitKey(100); //wait for 100 ms for user to hit some key in the window
}
return 0;
}