我已经在Ubuntu 12.04 32位平台上使用OpenGl,Qt和OpenNI构建了OpenCV 2.4.1,但每当我运行Learning OpenCV Book中列出的示例程序时。
例如:
#include "highgui.h"
int main( int argc, char** argv ) {
cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
//CvCapture* capture = cvCaptureFromAVI( argv[1] );
CvCapture* capture = cvCreateFileCapture( argv[1] );
IplImage* frame;
while(1) {
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( "Example2", frame );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
}
我在控制台中收到此消息:
init done
opengl support available
我想知道我哪里出错了。我的编译没有任何错误。
答案 0 :(得分:3)
这不是错误。我的机器上有类似的配置,每次运行时我都会看到这些语句。这些陈述与您编程的内容无关。我已经运行了您的确切代码,它显示视频没有任何问题。也许在打开捕获后添加此错误检查以确保它找到视频:
if (!capture) {
std::cout << "COULD NOT OPEN CAPTURE\n";
}
答案 1 :(得分:0)
我遇到了同样的问题然后我在最后添加了waitKey(0)并显示了图像。