我安装了一个新的Ubuntu。通过商店下载了Eclipse,通过Eclipse(开普勒)中的插件管理器安装了CDT插件。我使用商店下载了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中完美运行。
只需在执行后续循环之间添加小等待即可。为此,请使用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;
}