Ubuntu14.04安装Opencv

尊重原创,以下内容主要参照 Ubuntu14.04安装Opencv, 和Ubuntu14.04下Qt调用Opencv 两篇博文而来。

第一部分安装Opencv2.4.9

1、啥都不说,先系统更新

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

2、安装相关依赖包

1 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 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

3、利用wget获得Opencv2.4.9源文件,等下载完成后解压

1 cd ~
3 unzip opencv-2.4.9.zip
4 cd opencv-2.4.9

4、cmake OpenCV源文件包

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 ..

OpenCVConfig

注意:请确保上面命令没有出现错误,确认 FFMPEG 为YES,否则可能会造成你不能读写视频 。

OpenCVmodulesToBeBuilt

5、make(时间比较长) 和install

1 make
2 sudo make install

6、配置opencv相关

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

7、在空文件里添加如下代码并保存

1 /usr/local/lib

8、执行以下代码

1 sudo ldconfig

9、打开另外一个文件

1 sudo gedit /etc/bash.bashrc

9、在文件末尾添加如下并保存退出

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

10、检查opencv是否安装成功


1 cd ~/opencv-2.4.9/samples/c
2 chmod +x build_all.sh
3 ./build_all.sh
老版本的C语言接口
1 ./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"--scale=1.5 lena.jpg

1 ./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

新的C++接口

1 ~/opencv-2.4.9/build/bin/cpp-example-grabcut ~/opencv-2.4.9/samples/cpp/lena.jpg

后面的 这个可以不用管了,直接跳到第二部分
1 ~/opencv-2.4.9/build/bin/cpp-example-calibration_artificial

Now let’s run some Python code:

1 python ~/opencv-2.4.9/samples/python2/turing.py

Now you can build a Java sample using ant for example. (Make sure that you change/home/samontab/ with your actual home directory):

1 cd ~/opencv-2.4.9/samples/java/ant
2 ant -DocvJarDir=/home/samontab/opencv-2.4.9/build/bin -DocvLibDir=/home/samontab/opencv-2.4.9/build/lib

java_ant

Now let’s read a video and use OpenGL with Qt through this great sample that detects the features from the video, then estimates the 3D location of the structure using POSIT, and finally uses OpenGL to draw in 3D (great sample Javier):

1 cd ~/opencv-2.4.9/samples/cpp/Qt_sample
2 mkdir build
3 cd build
4 cmake ..
5 make
6 ./OpenGL_Qt_Binding

posit

And finally, let’s build a sample using the 3D visualization module viz:

1 cd ~/opencv-2.4.9/samples/cpp/tutorial_code/viz
2 g++ -o widget_pose `pkg-config opencv --cflags` widget_pose.cpp `pkg-config opencv --libs`
3 ./widget_pose

viz

As you can see, now you can use OpenCV with C++, C, python, and Java. The Qt enhanced 2D interface is enabled, 3D data can be displayed using OpenGL directly, or using the new viz module. Multi threading functionality is enabled using TBB. Also, video support is enabled as well.

If you correctly finished this tutorial, you are now ready to do some nice computer vision work.



一、依赖包安装

       1.  build-essential 软件包

    sudo apt-get install build-essential  

       2. 下面依赖关系主要是为了能够支持读写图片以及视频等。

    sudo apt-get install  libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev  

       3. 安装cmake

    sudo apt-get install cmake  

      4. 安装pkg-config,它是一个提供从源代码中编译软件时查询已安装的库时使用的统一接口的计算机软件。

    sudo apt-get install pkg-config  

二、编译安装过程

       1. 使用cmake来检测编译环境以及生成makefile以及其他project信息,opencv解压目录下使用cmake,注意后面的点表示在当前目录下寻找CMakeLists.txt。

    cmake .  

           也可以在可以在另外建一个文件夹,最常见的就是子目录。当然在构建的时候也可以配置一些参数,例如

  1. cd opencv-2.4.9  
  2. mkdir release  
  3. cd release  
  4. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=OFF -D WITH_OPENMP=ON -D WITH_QT=ON ..

       注:这里-D的作用是设置编译的选项,如选择release模式, 输出的目录,不编译cuda模块,编译openMP与QT模块,这里的 QT模式带有很强的可视化效果,推荐。但需要在第一步中加上 libqt4-dev 安装QT环境


       2. 使用make编译

    make  

       3.  使用make install 安装

    sudo make install  

       4.  上面的过程基本上完成了opencv的安装。但是并不能够马上用它,opencv还包含很多动态链接库。可以在文件/etc/ld.so.conf中添加 /usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib),也可以在/etc/ld.so.conf.d 目录下增加一个conf文件(可以命名为 opencv.conf),同样添加 /usr/local/lib

           使用下面的动态库管理命令ldconfig,让opencv的相关链接库被系统共享

    sudo ldconfig -v  
      5.  完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加

  export  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  


           pkg-config 维护着一个关于opencv的配置文件,这个文件(opencv.pc)在目录 /usr/local/lib/pkgconfig,这个文件记录着opencv的一些动态库信息,还有头文件信息


通过pkg-config 命令可以列出关于opencv的配置信息

三、测试

       1. 在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件

    ./build_all.sh  

 

        2. 找其中一个来运行看一下效果,例如,进入samples/c/下输入

      ./contours

      

       OK ,关于opencv在Ubuntu下的安装成功了

 

8. 测试,在某个目录下建立一个test.cpp文件

#include <cv.h>  
#include <highgui.h>  
  
using namespace cv;  
  
int main(int argc, char* argv[])  
{  
    Mat image;  
    image = imread(argv[1], 1);  
  
    if (argc != 2 || !image.data)   
    {  
        printf("No image data\n");  
        return -1;  
    }  
  
    namedWindow("Display Image", CV_WINDOW_AUTOSIZE);  
    imshow("Display Image", image);  
    waitKey(0);  
    return 0;  
}

 

9. 写一个cmake的makefile,也叫CMakeLists.txt,文件内容如下:

  project(test)  
  find_package(OpenCV REQUIRED)  
  add_executable(test test)  
  target_link_libraries(test ${OpenCV_LIBS})  
  cmake_minimum_required(VERSION 2.8)

 

10. 编译+运行测试程序

  cmake .

  Make

  得到可执行文件test


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值