sudo apt install libgtk-3-dev build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libgtk-3-dev libgtkglext1-dev libgstreamer1.0-dev libgphoto2-dev libopenblas-dev libatlas-base-dev libgstreamer-ocaml-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer1.0-dev libgstreamermm-1.0-dev libtesseract-dev liblept5 libleptonica-dev liblapacke-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamerd-3-dev libgstreamermm-1.0-dev libv4l-dev libprotobuf-dev libhdf5-dev libgflags-dev
Miniconda是一个简化版的Anaconda,它提供了conda包管理器和Python环境,但不包括Anaconda发行版中预安装的数据科学包。尽管如此,使用Miniconda编译OpenCV的过程与Anaconda相似。
以下是在Miniconda环境下编译OpenCV Python绑定的步骤:
第1步:设置Miniconda环境
sh
# 创建新环境,假设你的Python版本为3.8
conda create -n opencv-env python=3.8
# 激活环境
conda activate opencv-env
第2步:安装编译依赖
sh
# 安装编译OpenCV所需的依赖
conda install numpy cmake
# 安装GCC和G++(如果你的系统没有)
conda install -c conda-forge gcc_linux-64 gxx_linux-64
# 如果需要GUI支持,比如要用到HighGUI模块来显示图片等,还需要安装相关的库
# 例如,在Ubuntu上,你可能需要安装GTK:
conda install -c conda-forge gtk2
第3步:获取OpenCV源代码
sh
# 克隆OpenCV及额外模块
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
第4步:编译OpenCV
sh
# 进入OpenCV源代码目录
cd opencv
# 创建构建目录
mkdir build
cd build
# 运行CMake配置,确保指向正确的Python解释器和numpy路径
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D PYTHON3_EXECUTABLE=$(which python) \
-D PYTHON3_INCLUDE_DIR=$CONDA_PREFIX/include/python3.8 \
-D PYTHON3_LIBRARY=$CONDA_PREFIX/lib/libpython3.8.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=$CONDA_PREFIX/lib/python3.8/site-packages/numpy/core/include \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_EXAMPLES=ON \
-D WITH_CUDA=OFF \
-D WITH_GTK=ON \
..
# 编译安装
make -j$(nproc)
make install