ubuntu12.04安装OpenCv2.4.1并编译测试

来源:互联网 发布:风云2坐骑进阶数据 编辑:程序博客网 时间:2024/05/21 04:21

        在ubuntu上编写OpenCv应用程序,确实有其不少优点,虽然起初配置环境稍微麻烦一点。下面,我就OpenCv2.4.1在ubuntu 12.04 tls 上环境配置整理如下。

       一,对于ubuntu 系统先要保证系统各软件是最新的。只需要这样

sudo apt-get updatesudo apt-get upgrade
         二,OpenCv会依赖各种包,就需要安装下。

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
          三,紧接着就是下载并解压OpenCv
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.1/OpenCV-2.4.1.tar.bz2tar -xvf OpenCV-2.4.1.tar.bz2cd OpenCV-2.4.1
      当然也有其它方法。比如下载的是.zip,直接unzip就可以了。

      四,然后,新建个文件夹 并利用cmake 进行编译。

mkdir buildcd buildcmake -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 ..
      这样就准备好了编译和安装OpenCv
makesudo make install
     五,配置OpenCv。
sudo gedit /etc/ld.so.conf.d/opencv.conf
       在文件的尾部加上 /usr/local/lib,并执行
sudo ldconfig
       再打开另一个文件,并在尾添加这几行

sudo gedit /etc/bash.bashrc
       添加内容

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH
       六,最后需要重启或者注销,才能使配置生效。

    下面,运行几个例子,测试OpenCv

     在运行下面例子之前,需要准备下

cd ~/OpenCV-2.4.1/samples/cchmod +x build_all.sh./build_all.sh

      1.

cd ~/OpenCV-2.4.1/samples/cchmod +x build_all.sh./build_all.sh
         2.
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg
         3.
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_eye.xml" --scale=1.5 lena.jpg

           

          最重要是的如何编译我们编写的OpenCv 程序。

           下面,给出一个例子。直接上代码

#include <highgui.h>#include <iostream>using namespace std;int main(int argc,char **argv){  IplImage* image = cvLoadImage("lena.jpg");  // if(argc < 2 || image==NULL)   //      {    //          cout<<"No image data\n";    //          return -1;    //      }  cvNamedWindow("Display Image",CV_WINDOW_AUTOSIZE);  cvShowImage("Display Image",image);  cvWaitKey(0);  cvReleaseImage(&image);  cvDestroyWindow("Display Image");  return 0;}
        然后,运行我们熟悉的,只不过要加上一个参数
g++ -o testopencv testopencv.cpp `pkg-config opencv --cflags --libs`

        稍作解释,pkg-config命令需要跟一个.pc文件。opencv/usr/lib/pkgconfig文件夹下面的文件叫做哦opencv.pc

    --cflags指明编译过程需要的头文件去哪里找, --libs指明连接过程中so文件去哪里找。

     参考 http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/

0 0