opencv python 编译_Python3+ 源码编译安装Opencv
从源码编译OpenCV需配置绝对路径、虚拟环境与系统依赖,通过cmake指定Python解释器、库和numpy路径,关闭CUDA并开启AVX等选项。编译安装后将cv2模块链接至虚拟环境site-packages。注意检查cmake输出中Python3状态,避免路径错误导致无法导入。
# /bin/bash

在深度学习或计算机视觉项目中,经常需要从源码编译OpenCV。这个过程不算复杂,但有几个关键点容易踩坑——尤其是Python绑定和路径配置。下面这张图展示的是最终成果,但别忘了,编译前得先把环境捋顺。
先准备好几个变量。注意:所有路径都必须使用绝对路径,这是最容易出错的环节。假设你已经在服务器上创建了一个虚拟环境(比如用venv或conda),那么可以这样定义:
# OpenCV 源码路径
OPENCV_DIR=/home/sli/Python/lib_install/opencv-py3/opencv
# Python 解析器路径(虚拟环境根目录)
PYTHON_HOME=/home/sli/Python/env/tensorflow
# Python 版本号
PYTHON_VER=3.6
# Python 链接库路径(.a 或 .so 文件)
PYTHON_LIB=/home/sli/Python/py36/lib/libpython3.6m.a
接着安装必要的系统依赖。这一步是为了让OpenCV支持GUI、视频处理、图片格式等常用功能。虽然有些包是可选的,但建议一次性装全,免得后续编译时发现缺失再返工:
sudo apt install build-essential cmake git libgtk2.0-dev pkg-config liba vcodec-dev liba vformat-dev libswscale-dev
sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
然后克隆OpenCV源码(如果尚未下载):
if [ ! -d "$OPENCV_DIR" ]
then
git clone https://github.com/opencv/opencv "$OPENCV_DIR"
fi
接下来是核心环节:cmake配置。这里要根据自己的需求开关很多选项。比如我们不需要CUDA(with_cuda=OFF),需要开启A VX优化(ENABLE_A VX=ON),以及最关键的一点——必须明确指定Python3的相关路径,否则编译出来的OpenCV会找不到Python解释器。下面这个命令几乎是最常用的配置组合:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_TIFF=ON \
-D BUILD_opencv_ja va=OFF \
-D WITH_CUDA=OFF \
-D ENABLE_A VX=ON \
-D WITH_OPENGL=ON \
-D WITH_OPENCL=ON \
-D WITH_IPP=OFF \
-D WITH_TBB=ON \
-D WITH_EIGEN=ON \
-D WITH_V4L=ON \
-D WITH_VTK=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D CMAKE_INSTALL_PREFIX=${OPENCV_DIR}/release \
-D PYTHON_DEFAULT_EXECUTABLE=${PYTHON_HOME}/bin/python${PYTHON_VER} \
-D PYTHON3_EXECUTABLE=${PYTHON_HOME}/bin/python${PYTHON_VER} \
-D PYTHON3_LIBRARY=${PYTHON_LIB} \
-D PYTHON_INCLUDE_DIR=${PYTHON_HOME}/include/python${PYTHON_VER}m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=${PYTHON_HOME}/lib/python${PYTHON_VER}/site-packages/numpy/core/include/ \
"$OPENCV_DIR"
运行完cmake后,一定要仔细检查终端输出的报告。OpenCV会列出它检测到的模块和特性——看看Python3是否显示为“YES”,numpy路径是否正确。如果有红色标记的缺失项,就先去装对应的系统库,然后重新运行cmake。这一步不能跳过,否则后面编译出来可能无法导入cv2。
确认无误后,开始编译和安装。根据CPU核心数并行编译能大大节省时间:
make -j$(nproc) && make install
编译可能需要一段时间(取决于机器性能),耐心等待即可。最后一步是把编译好的cv2 Python模块链接到虚拟环境下的site-packages中,这样你的虚拟环境就能直接import cv2了:
ln -s ${OPENCV_DIR}/release/lib/python${PYTHON_VER}/site-packages/cv2.* ${PYTHON_HOME}/lib/python${PYTHON_VER}/site-packages/
整个过程下来,只要路径没写错、依赖没漏,基本一次成功。如果遇到问题,多半是cmake阶段Python路径没对上——不妨回头检查一下PYTHON_LIB和PYTHON_INCLUDE_DIR是否真的指向了你的虚拟环境。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















