04下安顿进程

    在上述的布局列表中,观望重点的依赖性软件都已布署到位,如FFMPEG、QT、OPENGL和V4L2等,展现须为YES。

为检查ffmpeg是不是安装成功,能够运作ffmpeg安装目录下的例证。
 cd /usr/local/share/ffmpeg/examples/
 sudo make
 有3个例证是demuxing,是分离三个录像的影与音的,找二个行业内部格式的avi图像,笔者利用光流法的输入图像,optical_flow_input.avi
 sudo ./demuxing optical_flow_input.avi video.avi audio
 第②个参数是输入的avi录制,首个参数是出口的脱离声音的节拍,第⑥个是退出的点子。
 执行完成后会打字与印刷输出
 Demuxing succeeded.
 Play the output video file with the command:
 ffplay -f rawvideo -pix_fmt rgb24 -video_size 720×480 video.avi
 大家得以执行最终一句输出ffplay -f rawvideo -pix_fmt rgb24 -video_size
720×480 video.avi 看到图像
 那样就评释ffmpeg安装成功
 

    能够在终点输入以下指令得到头文件和库文件的连锁目录

OpenCV 2.4.5编写翻译安装情势

复制代码

接下来编写翻译ffmpeg
 参考链接为http://www.samontab.com/web/2011/06/installing-opencv-2-2-in-ubuntu-11-04/和http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/
 

    叁 、验证OpenCV的设置:用USB录制头落成图像采集。

开端准备,因为是ubuntu,装软件比较方便,使用apt-get,把能装的都装上
 sudo apt-get -y install autoconf automake build-essential git
libass-dev libfaac-dev libgpac-dev \
  libmp3lame-dev libopus-dev libsdl1.2-dev libtheora-dev libtool
libva-dev libvdpau-dev \
  libvorbis-dev libvpx-dev libx11-dev libxext-dev libxfixes-dev
pkg-config texi2html yasm zlib1g-dev
 
 下载好三个文本后,新建文件夹,名字自取,作者取build_sources。
 首先编写翻译x264,
 tar xvf x264-snapshot-20130503-2245-stable.tar.bz2
 cd x264-snapshot-20130503-2245-stable
 ./configure –enable-shared –enable-static
 make
 sudo make install
 

    (2)安装cmake。在巅峰输入安装指令:

x264下载地址:ftp://ftp.videolan.org/pub/x264/snapshots/
 ffmpeg下载地址:http://www.ffmpeg.org/download.html
 opencv下载地址:http://opencv.org/
 

  1. sudo apt-get install pkg-config libgtk2.0-dev
    build-essential
    libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev python-dev
    python-numpy python-tk libtbb-dev libeigen3-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
    default-jdk ant libvtk5-qt4-dev

在./configure的参数种,–enable选项没有点名安装路径的话,一般都会设置在/usr/local,那里能够参见同目录下config.mak。由于ffmpeg将编写翻译出许多库,尤其是libavformat.so,libavcodec.so,
libavutil.so,libavfilter.so等,make
install操作将把它们复制在/usr/local目录下,那些库将用以链接,所以ldconfig操作是必须的。
 vim
/etc/ld.so.conf,能够看来链接选项都在ld.so.conf.d/文件夹下。大家看出,在ld.so.conf.d文件夹下有文件:libc.conf
 vim /etc/ld.so.conf.d/libc.conf
 #libc default configuration
 /usr/local/lib
 可知已经被回顾进来了,大家只须求在肆意地方执行sudo
ldconfig命令即可链接。
 

复制代码

需要x264,ffmpeg和opencv2.4.5

<ignore_js_op>图片 1

注意mkdir build是必须的,cmake决定的
 cmake的参数中依然某些相比根本的事物的,v4l是linux下能够用来经过录制头采集图像的库,别的的能够有能够没有,视大家的供给而定。
 make
 sudo make install
 sudo vim /etc/ld.so.conf.d/opencv.conf
 输入/usr/local/lib
 保存后,sudo ldconfig
 然后sudo vim /etc/bash.bashrc
 最前边添加
 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
 export PKG_CONFIG_PATH
 保存后,要重启,不重启用不了。
 

    完成步骤:

图片 2

复制代码

ffmpeg选择11-04这一个帖子里的做法。
 tar xvf  ffmpeg-1.2.1.tar.bz2
 cd  ffmpeg-1.2.1
 ./configure –enable-gpl –enable-version3 –enable-nonfree
–enable-postproc –enable-libfaac –enable-libopencore-amrnb
–enable-libopencore-amrwb –enable-libtheora –enable-libvorbis
–enable-libxvid –enable-x11grab –enable-swscale –enable-shared
 make
 sudo make install
 

<ignore_js_op>图片 3

然后把build_all.sh复制到cpp文件夹下和gpu文件夹下,cpp下并未难题,正是gpu下提示cvconfig.h找不到,这点笔者并未缓解,可是不影响执行复旦的那段光流源码,那么到此opencv2.4.5陈设实现。
 有少数认知正是:每须要追求这么新的版本,2.2到2.3就足以了。

复制代码

我们利用新型的Ubuntu
13.04操作系统,所以选拔相比高版本的ffmpeg等。x264选取二〇一三0503版本,ffmpeg接纳1.2.1本子,opencv采取2.4.5本子。

图片 4

ffmpeg对我们珍视,ffmpeg用来边解码图像,读取输入输出AVI录制并出示,是大家的图形界面。x264作为四个互补,大家都安,所以大家也安装上把。OpenCV2.4.5有为数不少新的职能,最新的正是对显卡的愈来愈帮助,那些大家都用不到,而且配置也更麻烦,所以本身选用直接忽略掉,比如ocl模块没有编写翻译,比如cvconfig.h头文件找不到,那一个难题近年来不影响大家编写翻译运转opencv程序,越发是对大家的运用。可是对光流法而言,小编意识示例代码中有四个公文夹,c,cpp和gpu,五个文件夹都包罗光流法optical
flow的demo,可知光流法很有色金属切磋所究意义。越发是gpu文件夹里有,这说不定有一对gpu上的好东西,有机遇的话能够看看。
 

    2. 装置步骤:

注:x264由ffmpeg静态调用,所以大家把编写翻译好的文书放在系统库区就行,所以能够不make
install,选取cp libx264.a /usr/lib \ cp x264.h /usr/include
 参考链接:
http://www.linuxidc.com/Linux/2007-11/8826.htm
 

  1. sudo apt-get update
  2. sudo apt-get upgrade

最终是编写翻译openCV
 编写翻译opencv要使用cmake,所以ubuntu要首先安装
 sudo apt-get install cmake
 tar xvf opencv-2.4.5.tar.gz
 cd opencv-2.4.5
 mkdir build
 cd build
 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 ..
 

  1. pkg-config –cflags opencv
  2. pkg-config –libs opencv

if [ $# -gt 0 ] ; then
 base=`basename $1 .c`
 echo “compiling $base”
 gcc -ggdb `pkg-config opencv –cflags –libs` $base.c -o $base
 else
 for i in *.c; do
    echo “compiling $i”
    gcc -ggdb `pkg-config –cflags opencv` -o `basename $i .c` $i
`pkg-config –libs opencv` -lm;
 done
 for i in *.cpp; do
    echo “compiling $i”
    g++ -ggdb `pkg-config –cflags opencv` -o `basename $i .cpp` $i
`pkg-config –libs opencv`;
 done
 fi
 然后再编写翻译c文件就不会出错了。
 那一个帖子里提到很多灵光的事物
 

复制代码

重启后,如何测试配置不错。
 cd /usr/local/share/OpenCV/samples
 cd c
 sudo chmod +x build_all.sh
 sudo ./build_all.sh
 那时会现出
 /tmp/ccLJWE0c.o: In function `cvRound’: opencv.c:(.text+0x19):
 undefined reference to `lrint’ /tmp/ccLJWE0c.o: In function
 `cvDecRefData’: opencv.c:(.text+0xa5c): undefined reference to
 `cvFree_’ opencv.c:(.text+0xacd): undefined reference to
`cvFree_’
 /tmp/ccLJWE0c.o: In function `cvGetRow’: opencv.c:(.text+0xbc3):
 undefined reference to `cvGetRows’ /tmp/ccLJWE0c.o: In function
 `cvGetCol’: opencv.c:(.text+0xbee): undefined reference to
`cvGetCols’
 /tmp/ccLJWE0c.o: In function `cvReleaseMatND’:
opencv.c:(.text+0xc01):
 undefined reference to `cvReleaseMat’ /tmp/ccLJWE0c.o: In function
 那类的荒唐,根据stackoverflow的帖子
 http://stackoverflow.com/questions/14676018/install-opencv-and-compile-c-program-using-gcc
 消除办法是
 Try adding -lm, to include the math library that provides lrint
 在c前面添加-lm那么些选项,修改build_all.sh
 修改后的内容为
 #!/bin/sh
 

  1. cmake –version

1 添加-lm选项的理由
 http://man7.org/linux/man-pages/man3/lrint.3.html
 2 链接器的连锁知识
 http://www.lurklurk.org/linkers/linkers.html
 http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html
 http://gcc.gnu.org/onlinedocs/cpp/Invocation.html\#Invocation
 3 共享库的相干知识
 http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
 4 pkg-config的有关知识
 http://www.freedesktop.org/wiki/Software/pkg-config/
 5 bash shell的一些恢宏
 http://tldp.org/LDP/Bash-Beginners-Guide/html/sect\_03\_04.html
 

  1. cd ~
  2. wget
    http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip
  3. unzip opencv-2.4.9.zip
  4. cd opencv-2.4.9

答应那些题材的人,真是个活字典。
 编译完c文件夹下的代码,没有不当,执行./delaunay,可以看到图形界面,经典的opencv示例
 若是有摄像头,执行./fback_c,说不定能采访图像,那点自身的微型计算机能,但不可能担保都成功。

    (3)下载并解压OpenCV2.4.9至Ubuntu12.04的用户目录下

越来越多Ubuntu相关音讯见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

复制代码

    在终极进入以下两行代码

复制代码

<ignore_js_op>图片 5    

   
① 、知识互补
 
  1.什么是OpenCV
 
  OpenCV是一款开源的图像处理库,于一九九六年由AMD公司倡导和创建。OpenCV为Python、Matlab等各种电脑语言提供了接口,它的库函数选用了C和C++编写,能够在Windows、Linux、Mac
OS和Android等种种操作系统上边运营。采纳OpenCV做图像处理,能够使显明抓牢编制程序功效。能够到http://www.sourceforge.net/projects/opencvlibrary 下载需求的本子。
 
  2.
UVC摄像头C270简介
 
  C270录制头是森松尼公司生产的一款经典录像头,选取CMOS感光器件,300万像素,USB2.0接口,手动完成对焦,支持MuranoGB24和YUV422二种多少格式,最大帧数为15帧/秒。选取该录像头的二个至关心珍惜要原因是,该录制头是UVC(USB
Video
Class)录制头。UVC是1个开放的规范,拥有维护优良的驱动,它属于基本代码的一局地。插入摄像头后就能够干活,而无须编写翻译或设置额外的驱动。
 
  查看本人手中的USB录像头是或不是是UVC录像头的法子如下:
 
  (1)在终点输入lsusb,查看该摄像头的ID号;
 
  (2)在网站http://www.ideasonboard.org/uvc/中比对显示的ID号,若“Status”一栏为“绿色的对号”则表示该摄像头为UVC摄像头。

    (8)设置环境变量

    1. 开辟终端,进入用户目录,创建webcam_capture.cpp

    “pkg-config”工具关键有以下多少个职能:(1)检查库的版本号,假若所需库的本子无法餍足须要,会打字与印刷错误音信;(2)“–cflags”获得编写翻译预处理的参数,如宏定义、头文件的岗位;(3)“–libs”获得库及别的正视库的任务,文件名和链接参数等。

<ignore_js_op>图片 6

图片 7

复制代码

    (1)安装交叉编译工具:arm-linux-gcc4.3.2,具体步骤参见自身试用贴之(三)——Ubuntu下安装gcc交叉编写翻译器和hello.c的落到实处:http://bbs.elecfans.com/jishu\_500508\_1\_1.html

复制代码

  1. cd ~
  2. gedit webcam_capture.cpp

    (7)使库文件生效,在极限输入

    二、安装OpenCV

    保存,关闭环境变量设置文书档案。关闭终端,重启Ubuntu。至此,Ubuntu12.04下OpenCV2.4.9的安装收尾。

  1. g++ webcam_capture.cpp -o webcam_capture `pkg-config –cflags
    –libs opencv`
  2. ./webcam_capture

<ignore_js_op>图片 8

复制代码

    2. 在运作USB录制头图像采集程序一段时间现在,会合世录制卡顿的处境,并在巅峰展现“select
timeout”,笔者伊始以为是分辨率设置的难题,所以个别安装了320*240、640*480、800*600等三种分辨率,运转之后依旧会见世卡顿。所以,也借那篇帖子在论坛呼救,希望各位大神给出修改意见。

  1. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
  2. export PKG_CONFIG_PATH 

复制代码

    1.
关于OpenCV下的file.cpp文件编写翻译指令,最常用的格局正是用“pkg-config”进行编写翻译,其实际格式为

   

    3. 编写翻译和周转

    (2)安装注重项

<ignore_js_op>图片 9 

  1. mkdir build 
  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 -D WITH_VTK=ON .. 

    (6)配置OpenCV。

  1. sudo ldconfig

    (5)编译和设置OpenCV2.4.9。make编写翻译是2个遥远的历程,建议去小憩一会儿可能喝喝茶活动活动筋骨,待编写翻译进程到百分之百后头,实行安装。安装需在root权限下进展。

<ignore_js_op>图片 10

试用OK210开发板早期的指标,就是统一筹划一款类人足球机器人的视觉识别系统。在接下去的试用实验中,作者会一步步朝那些目的阔步前进。前几日帖子的重庆大学内容就是在Ubuntu12.04上安装图像处理软件OpenCV,并用简短的程序达成UVC录制头C270的图像采集。
   
硬件平台:Windows7 64 bit +
USB摄像头C270
   
软件平台:VMware8.0.2 +
Ubuntu12.04 + arm-linux-gcc4.3.2 + OpenCV2.4.9

  1. sudo apt-get install cmake 

复制代码

复制代码

    输入库文件路径,保存并脱离。   

复制代码

复制代码

    肆 、难题总括

    (4)OpenCV
2.0后头的版本,必须运用CMake创设Makefile。小编动用的CMake版本是2.8.7。最终的多个点“..”的情趣是:当前目录在build文件夹里,所以在编写翻译的时候供给重临OpenCV的主菜单。

    其中,符号“`”并非单引号,而是机械键盘上和波浪线“~”在一道的充足点。

复制代码

  1. g++ file.cpp -o file `pkg-config –cflags –libs opencv`

复制代码

  1. #include “cxcore.h”
  2. #include “highgui.h”
  3. #include “cv.h”
  4. using namespace std;
    1. int main()
  5. IplImage* pFrame = NULL;
  6. cvNamedWindow(“result”, 1);
  7. CvCapture* pCapture = cvCreateCameraCapture(-1);
  8. cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_WIDTH,320);
  9. cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_HEIGHT,240);
    1. while(true)
  10. {
  11. pFrame = cvQueryFrame( pCapture );
  12. if(!pFrame) break;
    1. char c = cvWaitKey(33);
  13. if(c == 32) break;
  14. cvShowImage(“result”, pFrame);
  15. }
    1. return 0;
  16. }

    2. 输入图像采集程序

 

    运维cmake的时候,会在顶峰现身依赖项的布置列表如下:

  1. make
  2. sudo make install

    1. 预备工作:

  1. sudo gedit /etc/bash.bashrc

    4. 周转效果

    (1)更新和进步系统

  1. sudo gedit /etc/ld.so.conf.d/opencv.conf

待完结安装后,在终极输入以下指令,能够查阅安装cmake的版本音信。

  1. /usr/local/lib