查看: 6354|回复: 1

[原创] 树莓派ubuntu mate 16.04安装opencv3.2.0(包含contrib)——楼.....

[复制链接]
  • TA的每日心情
    慵懒
    2024-5-31 23:20
  • 签到天数: 302 天

    连续签到: 2 天

    [LV.8]以坛为家I

    发表于 2017-9-20 22:47:58 | 显示全部楼层 |阅读模式
    分享到:
    说起opencv,尤其是opencv_contrib,楼主可谓是一把辛酸泪,国内的论坛抄来抄去,个个一样,以为是经典的安装教程,结果统统都是坑爹,无论是在树莓派还是pc上,楼主是撞了无数的壁,才终于得出目前来说切实可行的方案。
    (一)源码包下载——这点最重要!
    opencv 3.2.0:可以在官网下载。https://github.com/opencv/opencv/archive/3.2.0.zip
    opencv_contrib 3.2.0 :https://github.com/opencv/opencv_contrib/archive/3.2.0.tar.gz
    注意!
    opencv_contrib千万别下released的源码、千万别下Itseez的源码!这些源码都是错的!你会发现cmake到一半protobuf组件下载不了!据说这是由于makefile里面的package写错为file,但楼主研究了很久都没用发现file这个字段,甚至也没有教程说的那些出错的语句。
    网上有些私人包说是改好的,这些包更可怕,你用它们确实能够cmake,但当你花几个小时make到40%左右会出错。当你想方设法对这些错误的地方修改之后,再花两倍的时间make到80%的时候依然error。这些包都是无底深坑,不要去尝试!

    (二)依赖项
    1. sudo apt-get install build-essential
    2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    3. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    复制代码
    (三)编译
    把opencv和opencv_contrib提取到home目录下,在opencv下mkdir一个文件夹

    建立一个脚本文件
    1. mkdir my_cmake.sh
    复制代码
    脚本内容如下
    1. #!/bin/bash
    2. cmake -DCMAKE_BUILD_TYPE=RELEASE \
    3.     -DCMAKE_INSTALL_PREFIX=/usr/local \
    4.     -DINSTALL_PYTHON_EXAMPLES=ON \
    5.     -DINSTALL_C_EXAMPLES=OFF \
    6.     -DOPENCV_EXTRA_MODULES_PATH=/home/opencv/opencv_contrib-3.2.0/modules \
    7.     -DPYTHON_EXCUTABLE=/usr/lib/python3 \
    8.     -DWITH_TBB=ON \
    9.     -DWITH_V4L=ON \
    10.     -DWITH_QT=ON  \
    11.     -DWITH_GTK=ON \
    12.     -DWITH_OPENGL=ON \
    13.     -DBUILD_EXAMPLES=ON ..
    复制代码
    DOPENCV_EXTRA_MODULES_PATH的路径按照你自己的来配置
    DWITH_QT如果有qt的话可以on,不过按照楼主的经验,这句话编译起来总是有问题,最好能去掉。
    如果编译过程中还有什么问题,把DPYTHON_EXCUTABLE后面的全部去掉!
    最后的两点一定要加上!
    接着就是十来分钟的cmake了。
    1. ./my_cmake.sh
    复制代码
    如果还有什么奇怪的问题,尝试下修改权限:
    home目录下:
    1. sudo chmod -R 777 opencv-3.2.0 opencv_contrib-3.2.0
    复制代码
    (四)make
    树莓派的话可以
    make -j4
    启动四个线程编译,快很多。
    过程中经常会有错误出现,不需要惊慌,这是cpu压力过大时gcc出错,正常现象,继续运行
    make -j4
    如果来来去去都不行,那就乖乖
    make
    最后100%的地方有个特久的,要耐心等待。
    最后建议用ssh,否则编译到一半的时候就会发现xrdp连不上了(由于cpu压力过大,不会处理远程连接)

    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2017-10-18 20:34
  • 签到天数: 19 天

    连续签到: 4 天

    [LV.4]偶尔看看III

    发表于 2017-10-18 20:32:02 | 显示全部楼层
    厉害!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-15 20:55 , Processed in 0.130000 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.