我安装了一个新的Ubuntu。通过Shop下载Eclipse,通过Eclipse(Kepler)中的插件管理器安装CDT插件。我用Shop来下载OpenCV开发包。在eclipse中添加路径后,我写了一个简短的程序。
#include <iostream>
#include "opencv2/opencv.hpp"
int main(int argc, const char * argv[])
{
cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCaptureFromCAM(-1);
IplImage *newImg;
while(true)
{
newImg = cvQueryFrame( capture );
if( newImg==0 )
break;
cvShowImage( "result", newImg );
}
return 0;
}
程序编译,调试器在newImg中显示一些值。但是没有窗口出现并显示结果。相机LED灯亮,循环一步似乎完美无缺。仅缺少输出窗口。相同的程序在OS X上的XCode中运行完美。
答案 0 :(得分:3)
在执行后续循环之间添加小的等待。为此目的使用cv::waitKey
。
#include <iostream>
#include "opencv2/opencv.hpp"
int main(int argc, const char * argv[])
{
cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCaptureFromCAM(-1);
IplImage *newImg;
while(true)
{
newImg = cvQueryFrame( capture );
if( newImg==0 )
break;
cvShowImage( "result", newImg );
cv::waitKey(100); //Wait of 100 ms
}
return 0;
}