[Linux] ubuntu下安装opencv

安装平台:ubuntu 14.04 TLS
安装库:opencv2.49 并且支持多版本opencv安装

一、安装

  • 下载opencv 2.49的源码包
    opencv2.49
  • 解压源码包

    unzip opencv-2.4.9.zip

    上面的命令是将下载的opencv249的源码解压到当前目录下

unzip,tar等工具可以参考tar等命令这个文章。

  • 安装一些依赖库
    sudo apt-get install cmake
    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev
    libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

  • 安装opencv
    cd opencv-2.4.9
    进入有opencv源码的目录
    cmake . -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv249
    cmake后面的点表示在当前目录下寻找CMakeList.txt,-D后面的参数如果不加的话,默认会将opencv安装到/usr/local目录下
    在本例中,为了使得可以同时使用多个版本opencv,手动指定安装目录

  • 使用make进行编译
    make
    sudo make install

二、配置

  • 将opencv的库加入到系统路径中,让系统可以找到
    sudo gedit /etc/ld.so.conf.d/opencv.conf
    末尾加上opencv的安装目录,本例中为/usr/local/opencv249/lib,对应于{CMAKE_INSTALL_PREFIX}/lib}(opencv.conf可能是一个空文件)

    这个操作等价于
    sudo gedit /etc/ld.so.conf
    在末尾加上/usr/local/opencv249/lib

    保存后退出
    sudo ldconfig
    使配置生效

  • 使用管道查找动态库的名字
    sudo ldconfig -v >temp.so.txt && cat temp.so.txt|grep opencv

  • 使用pkg-config工具管理opencv头文件和库
    首先在/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 –cflags opencv 和pkg-config –libs opencv ,可以发现以下信息。

正确的结果是如下:

root@noya-VirtualBox:/usr/local/lib# pkg-config --cflags opencv
-I/usr/local/include/opencv -I/usr/local/include 


root@noya-VirtualBox:/usr/local/lib# pkg-config --libs opencv


/usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_ocl.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videostab.so -lrt -lpthread -lm -ldl

正是因为如此,我们既可以在makefile中指定头文件和库目录的位置
也可以直接

gcc gtk_example.c   `pkg-config --flags  --libs  opencv` 

三、调试

  • 编译opencv自带的样例
    在samples/c/build_all.sh,下运行该文件
    ./build_all.sh

编译完成后使用
./find_obj
查找物体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值