Ubuntu 17.04源码编译安装OpenCV3完整指南

远山来客
远山来客
发布时间:2026-10-13| 2人浏览过
原创

本文详细讲解在Ubuntu 17.04系统中通过源码编译安装OpenCV3的步骤,重点涵盖Python环境配置、依赖库安装及opencv_contrib模块集成。内容包含使用cmake-gui图形界面配置构建选项、处理SIFT等分离模块,以及验证安装成功的完整操作流程,适用于需要调用OpenCV库的Python开发场景。

前言

本文主要介绍在Ubuntu 17.04版本下,如何通过源码编译方式安装OpenCV。开发环境设定侧重于Python对OpenCV库的调用。以下是详细的操作步骤介绍:

一、安装gcc和cmake编译环境

sudo apt-get install build-essential pkg-config cmake cmake-gui

本文提供两种源码编译方式:一种是使用命令行cmake命令,另一种是通过图形界面工具cmake-gui进行配置编译。

该版本的Ubuntu系统已预装Python 2.7和Python 3.5,需要安装pip以管理Python包。

sudo apt-get install python-pip
sudo apt-get install python3-pip

配置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

二、安装Python及Python3下的数据分析包

pip install numpy scipy matplotlib scikit-image scikit-learn 
pip3 install numpy scipy matplotlib scikit-image scikit-learn

三、安装其他必要的依赖库

# 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

四、可选依赖库安装

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

五、下载并安装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。

命令行编译方式

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

使用图形化工具配置并生成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及其额外包

cd opencv/build/
make -j8
sudo make install
 sudo ldconfig

测试环境配置是否成功

# 在命令行打开你的python 解释器,输入以下命令
import cv2 
print cv2.__version__
# 若看到类似以下输出,则表示配置成功
'3.3.0-dev'

总结

以上就是本文的全部内容,希望本文的内容能对大家的学习或工作有所帮助。如有任何疑问,欢迎留言交流,感谢支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。