Ubuntu 17.04下OpenCV源码编译安装

本文主要针对Ubuntu 17.04版本下,OpenCV进行源码编译安装。开发环境主要针对Python 对 OpenCV库的调用。

  1. 安装 gcc cmake 编译环境
sudo apt-get install build-essential pkg-config cmake cmake-gui

本文提供两种源码编译方式,一种是cmake命令,另一种是通过图形界面的cmake-gui进行编译

  1. 该版本系统ubuntu已经自带python 2.7 和 python 3.5 ,需安装 pip 对python包进行管理
sudo apt-get install python-pip
sudo apt-get install python3-pip
  1. 配置pip 清华源加速包下载更新速度(寻找飞一样的感觉)
mkdir ~/.pip
vim ~/.pip/pip.conf
# 在pip.conf 中添加以下内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
  1. 安装python 以及 python3 下的数据分析包
pip install numpy scipy matplotlib scikit-image scikit-learn 
pip3 install numpy scipy matplotlib scikit-image scikit-learn
在这一步时出现了问题,参考
  1. 安装其他依赖
# git : 版本控制
# gfortran fortran编译器
# yasm 汇编编译器
# ffmpeg 系统自带
sudo apt-get install checkinstall yasm gfortran git ffmpeg
sudo apt-get install libxvidcore4 libgtk-3-dev
sudo apt-get install libjpeg8-dev libjasper-dev 
sudo apt-get install libtiff5-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo apt-get install libxine2-dev libv4l-dev
sudo apt-get install libqt4-dev libgtk2.0-dev libtbb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libvorbis-dev libxvidcore-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install x264 v4l-utils
  1. 可选依赖
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
  1. 下载并且安装OpenCV3
  • 安装git
    sudo apt-get install git
  • 下载OpenCV3
    git clone https://github.com/opencv/opencv.git
  • 下载OpenCV_Contrib
    git clone https://github.com/opencv/opencv_contrib.git

OpenCV 从 3.0 开始,就将一部分内容(比如 SIFT 等)分离到 opencv_contrib 中。因此,要完整安装 OpenCV,还需要安装 opencv_contrib。

  1. 命令编译
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON ..
# 查看cpu 核心数
nproc
# 如果你有8个核心 
# 切换至 build 目录中,执行下面命令,编译源码并链接生成相应的动态库以及可执行文件
make -j8
# 执行完成后,再执行以下命令,将生成的可执行文件以及动态库安装到指定的安装目录中。
sudo make install
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
  1. 用图形化工具配置生成 makefile
  • 切换至 opencv 目录,然后新建一个目录,用于存放 cmake 生成的配置文件。
    mkdir build
    cd build

  • 在你的图形界面的软件中找到 cmake-gui 打开

    然后在 Where is the source code 中添加 opencv 的目录路径,在 where to build the binaries 中添加刚才新建的 build 目录

  • 然后点击下面的Configure,选择 Unix Makefiles,然后选择 default …。点击 OK,从而处理 opencv目录下的 CMakeLists.txt 。并且在 Build 目录下生成 CMakeCache.txt 及 Makefile 等相关文件。

  • Configure配置结束后,将会出现类似以下配置界面

以下是需要修改的部分

CMAKE_BUILD_TYPE 修改为 RELEASE
OPENCV_EXTRA_MODULES_PATH 设为 opencv_contrib 中的 modules 目录的路径(比如,/home/arvin/opencv_contrib/modules)
在 BUILD_EXAMPLES 的复选框里 打勾
在 INSTALL_C_EXAMPLES 的复选框里 打勾
在 INSTALL_PYTHON_EXAMPLES 的复选框里 打勾
在 WITH_FFMPEG 的复选框里 打勾
在 WITH_GTK 的复选框里 打勾
在 WITH_V4L 的复选框里 打勾
在 WITH_TIFF 的复选框里 打勾
在 WITH_PNG 的复选框里 打勾
在 WITH_JPEG 的复选框里 打勾
在 WITH_JASPER 的复选框里 打勾
取消 WITH_CUDA 的复选框里的勾
取消 WITH_CUFFT 的复选框里的勾
  • 然后点击Configure,应用刚才的修改并且将修改内容更新至 build 目录下的 CMakeCache.txt 中。然后点击 Generate,更新 Makefile。

  • 安装OpenCV3 及 OpenCV3 的额外包

    cd opencv/build/
    
    make -j8
    
    sudo make install
    
     sudo ldconfig
    
  1. 测试环境是否配置成功
# 在命令行打开你的python 解释器,输入以下命令
import cv2 
print cv2.__version__
# 若看到类似以下输出,则表示配置成功
'3.3.0-dev'

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/223642.html<

(0)
运维的头像运维
上一篇2025-04-16 01:39
下一篇 2025-04-16 01:40

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注