在Verybot上安装OpenCV是很简单的,只需要执行:
sudo apt-get update
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采集并显示图像的程序,代码如下:
#include "cv.h"
#include "highgui.h"
#include "stdio.h"
int main(int argc, char** argv)
{
cvNamedWindow("vedio",0);
CvCapture* capture;
if(1 == argc)
{
capture = cvCreateCameraCapture(0);
}
else
{
capture = cvCreateCameraCapture(atoi(argv[1]));
}
assert(NULL != capture);
//设置采集的分辨率
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 640);
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT,480);
IplImage* frame;
char keyCode;
while((keyCode = cvWaitKey(15)))
{
if(keyCode == 'q') //如果按下q键,退出循环
{
break;
}
frame = cvQueryFrame(capture); //采集一帧图像
if(!frame)
{
break;
}
cvShowImage("vedio",frame); //显示图像
}
cvReleaseImage(&frame);
cvDestroyAllWindows();
return 0;
}
代码比较简单,就只做了较少的注释,如果跟使用V4L2与FrameBuffer的图像采集与显示的程序比,就会感觉简单很多,把上面这个文件命名为:capture.cpp,然后在同文件夹下建立一个CMakeLists.txt的文件,内容如下:
project( captrue )
find_package( OpenCV REQUIRED )
add_executable( capture capture )
target_link_libraries( capture ${OpenCV_LIBS} )
保存之后在同文件夹下运行:
cmake .
然后:
make
编译完成以后运行:
./capture
没有问题的话就可以看到USB摄像头采集的图像了。