Ubuntu 16.04 下 Python 3.5 编译配置 OpenCV 3.2 完整指南

拾光
拾光
发布时间:2026-10-12 | 3人浏览过
原创

本文详细记录了在 Linux Ubuntu 16.04 系统下,使用 Python 3.5 环境从源码编译配置 OpenCV 3.2 的完整步骤。内容涵盖从 GitHub 获取源码、安装系统依赖库、针对 32 位和 64 位系统分别执行 CMake 配置命令,以及最终的编译安装与 Python 测试验证。重点解析了 CMake 中 Python 相关路径参数的设置差异,帮助开发者解决环境配置难题。

1. 获取 OpenCV 源码

首先,在本地磁盘创建一个用于存放源码的空白目录,并进入该目录执行下载命令。例如,可以创建一个名为 opencv-python 的文件夹作为工作目录。

cd opencv-python
git clone https://github.com/opencv/opencv.git

除了通过命令行下载,用户也可以直接访问 OpenCV 官方下载页面获取源码包。

使用 git 工具克隆仓库后,你会得到一个名为 opencv 的文件夹。请进入该文件夹,并执行以下初始化命令以准备编译环境:

cd opencv
mkdir build
cd build

2. 编译 OpenCV 源码

接下来使用 cmake 工具对 OpenCV 源码进行编译配置。在正式编译之前,请务必确认所有必要的依赖项均已正确安装。你可以执行以下命令来批量安装所需的开发库和工具:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

如果系统中已经存在这些依赖项,cmake 会自动跳过安装步骤;若未安装,则会执行下载和安装操作。

需要注意的是,在执行 cmake 编译配置时,32 位系统与 64 位系统所需的命令参数存在差异。

由于测试环境为 32 位系统,下文将重点介绍 32 位系统的编译命令。同时,为了兼顾其他用户,这里也提供了 64 位系统的编译命令参考。理论上,除文件路径外两者应基本一致,但该部分未经过本人实际验证,请 64 位系统用户谨慎参考并自行测试。

完成上述 cmake 配置后,针对 32 位系统,请执行以下命令开始编译过程:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local PYTHON3_EXECUTABLE = /usr/bin/python3 PYTHON_INCLUDE_DIR = /usr/include/python3.5 PYTHON_INCLUDE_DIR2 = /usr/include/i386-linux-gnu/python3.5m PYTHON_LIBRARY = /usr/bin/i386-linux-gnu-python3/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS = /usr/local/lib/python3.5/dist-packages/numpy/core/include/ ..

对于 64 位系统,cmake 命令中的可选项(如 PYTHON_INCLUDE_DIR 等路径参数)在官方指导文档中可通过以下提示进行具体查看和替换:

PYTHON2(3)_EXECUTABLE = <path to python>
PYTHON_INCLUDE_DIR = /usr/include/python<version>
PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python<version>
PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython<version>.so
PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-packages/numpy/core/include/

此处参考了网络上其他用户提供的编译命令示例,整理出了适用于 64 位系统的配置命令。由于作者未亲自验证该部分,若有已成功配置 64 位系统的用户,欢迎留言补充完善。

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local PYTHON3_EXECUTABLE = /usr/bin/python3 PYTHON_INCLUDE_DIR = /usr/include/python3.5 PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python3.5m PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu-python3/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS = /usr/local/lib/python3.5/dist-packages/numpy/core/include/ ..

无论是 32 位还是 64 位系统,OpenCV 编译的主要区别仅在于 cmake 命令中的路径参数。cmake 执行无误后,请分别执行以下命令进行编译和安装:

make
sudo make install

若上述步骤未报错,则说明基于 Python 3 的 OpenCV 开发环境已成功配置。此时,可以编写一个简单的测试程序来验证配置结果:

示例代码

import cv2
srcImage = cv2.imread('lena.jpg')
cv2.imshow('Python3', srcImage)
cv2.waitKey(0)

运行结果如下:

以上即为在 Linux Ubuntu 16.04 环境下配置 Python 3.5 与 OpenCV 3.2 的完整方法,希望能对读者有所帮助,也欢迎大家支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表