基于opencv网络摄像头在ubuntu下的视频获取
1 工具 原料
平台 :UBUNTU12.04
安装库 Opencv-2.3
2 安装编译运行步骤
安装编译opencv-2.3 参考http://blog.csdn.net/xiabodan/article/details/23547847
提前下载OPENCV源码包
官方:http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/
我的:http://download.csdn.net/detail/xiabodan/7176253
2 |
|
解压源码包
3 |
tar -xvf OpenCV-2.4.1. tar .bz2
|
4 |
|
1 |
|
2 |
cd build
|
3 |
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
|
然后进行make
1 |
make
|
2 |
sudo make install
|
配置opencv
1 |
sudo gedit /etc/ld.so.conf.d/opencv.conf
|
Add the following line at the end of the file(it may be an empty file, that is ok) and then save it: 在opencv.conf中添加以下路径
1 |
/usr/ local /lib
|
sudo ldconfig
1 |
|
Add these two lines at the end of the file and save it: 在bash.bashrc中添加以下环境变量
1 |
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/ local /lib/pkgconfig
|
2 |
export PKG_CONFIG_PATH
|
sudo reboot 重启电脑
注意:一定要提前安装V4L等等库,不然编译能过,运行的时候没有画面。
3 测试代码
编译
g++ cameraCaptrue.cpp -o cameraCap `pkg-config --libs --cflags opencv`
生成文件cameraCap
运行 采集成功
./cameraCap
cameraCaptrue.cpp
#include<stdio.h>
#include<math.h>
#include "highgui.h"
#include <cv.h>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp> //#include <cvaux.h>
//#include <highgui\highgui_c.h>
//#include <core\types_c.h>
//#include <photo\photo_c.h>
//#include <imgproc\imgproc_c.h>
//#include <photo\photo using namespace cv; int main( int argc, char** argv )
{
printf("I am start \n");
VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) // check if we succeeded
return -1; printf("%f, %f\n",cap.get(CV_CAP_PROP_FRAME_WIDTH),cap.get(CV_CAP_PROP_FRAME_HEIGHT));
cap.set(CV_CAP_PROP_FRAME_WIDTH, 320);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 240);
cap.set(CV_CAP_PROP_FPS, 15);
printf("%f, %f\n",cap.get(CV_CAP_PROP_FRAME_WIDTH),cap.get(CV_CAP_PROP_FRAME_HEIGHT));
Mat src_gray;
cvNamedWindow( "video", CV_WINDOW_AUTOSIZE ); while(1)
{
Mat frame;
cvWaitKey(10);
cap >> frame;
imshow("video", frame);
} return 0;
}
接下来移植到zedboard上去
参考:
http://www.cnblogs.com/liu-jun/archive/2013/12/24/3489675.html
http://xuxd32.blog.163.com/blog/static/48121933201192394550140/
ZedBoard-OpenCV打开摄像头失败解决方案及过程:
http://www.openhw.org/wicoboy/blog/13-04/293302_71692.html
http://www.cnblogs.com/surpassal/
OpenCV移植到ARM 全过程 :点击打开链接
【OpenHW12参赛手记】Zedboard-Linux-digilent3.6内核版本不支持USB摄像头问题的解决方案 :http://www.eefocus.com/jefby1990/blog/13-03/292301_988aa.html点击打开链接