zoukankan      html  css  js  c++  java
  • 基于opencv网络摄像头在ubuntu下的视频获取

    

    基于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

    sudo apt-get update

    sudo apt-get upgrade

    sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

                 解压源码包

    3 tar -xvf OpenCV-2.4.1.tar.bz2
    4

    cd OpenCV-2.4.1

    1

    mkdir build

    cmake配置MAKEFILE

    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

    sudo gedit /etc/bash.bashrc

            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 <highguihighgui_c.h>
    //#include <core	ypes_c.h>
    //#include <photophoto_c.h>
    //#include <imgprocimgproc_c.h>
    //#include <photophoto
    
    using namespace cv;
    
    
    int main( int argc, char** argv )
    {
    	printf("I am start 
    ");
    	VideoCapture cap(0); // open the default camera
    	if(!cap.isOpened())  // check if we succeeded
    		return -1;
    
    	printf("%f, %f
    ",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
    ",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点击打开链接

    
    
    
    
  • 相关阅读:
    粒子贴片渲染的边缘柔化。
    灯塔,大海,大风。(一)
    紫色乐趣。
    灯塔,大海,大风。(三)
    Maya中实现快速伪SPH粒子。
    灯塔,大海,大风。(二)
    灯塔,大海,大风。Final.
    2D流体火焰,低精度测试。
    灯塔,大海,大风。(四)
    2010年冬视觉特效作品集。
  • 原文地址:https://www.cnblogs.com/xiabodan/p/4038593.html
Copyright © 2011-2022 走看看