woniulx0 2019-08-06
OpenCV(开源计算机视觉库)是一个开源计算机视觉库,具有 C++ , Python 和 Java 的绑定。它用于广泛的应用,包括医学图像分析,拼接街景图像,监控视频,检测和识别面部,跟踪移动物体,提取 3D 模型等等。
OpenCV 可以利用多核处理功能,并具有 GPU 加速功能,可实现实时操作。
在本教程中,我们将解释如何在 Raspberry Pi 上安装 OpenCV 。
我们假设您在 Raspberry Pi 上安装了 Raspbian 。
最推荐的安装 OpenCV 的方法是从源代码构建库。这样您就可以完全控制构建选项, OpenCV 将针对您的系统进行优化。
首先增加交换空间以避免因内存问题导致的编译挂起:
sudo nano /etc/dphys-swapfile
将 CONF_SWAPSIZE 值从默认值更改 100 为 1024 :
的 /etc/dphys-swapfile
CONF_SWAPSIZE=1024
保存文件并运行以下命令以使更改生效:
sudo /etc/init.d/dphys-swapfile restart
我们现在可以开始构建 OpenCV 。首先,更新包索引并安装构建工具和所需的依赖项:
sudo apt update sudo apt install build-essential cmake git pkg-config libgtk-3-dev libcanberra-gtk* sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev opencl-headers sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
创建一个新目录并从 Github 克隆 OpenCV 和 OpenCV contrib 存储库:
mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git
在撰写本文时, GitHub 存储库中的默认版本是 4.1.1 版。如果你想安装 OpenCV 的旧版本,导航既 opencv 和 opencv_contrib 目录,并运行 git checkout <opencv-version>
克隆存储库后,创建一个临时构建目录,然后切换到该目录:
mkdir -p ~/opencv_build/opencv/build cd ~/opencv_build/opencv/build
使用 CMake 设置 OpenCV 构建配置:
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=OFF ..
输出结果如下所示:
... -- Configuring done -- Generating done -- Build files have been written to: /home/pi/opencv_build/opencv/build
运行 make 以启动编译过程:
make -j4
这个过程需要一些时间,大约 1-2 小时,具体取决于 Raspberry Pi 模型。完成后,您将看到如下内容:
... [100%] Linking CXX shared module ../../lib/python3/cv2.cpython-35m-arm-linux-gnueabihf.so [100%] Built target opencv_python3
如果编译在某些时候失败,由于资源不可用,请 make 再次运行该命令,该过程将从停止的位置继续。
最后一步是安装已编译的 OpenCV 文件:
sudo make install
... -- Installing: /usr/local/bin/opencv_version -- Set runtime path of "/usr/local/bin/opencv_version" to "/usr/local/lib"
要检查 OpenCV 是否已成功安装,请键入以下命令,您应该看到 OpenCV 版本:
C++库:
pkg-config --modversion opencv4
4.1.1
Python库:
python3 -c "import cv2; print(cv2.__version__)"
4.1.1-pre
如果 SD 卡上没有足够的可用空间,请删除源文件:
rm -rf ~/opencv_build
大量交换使用可能会损坏您的 SD 卡。将交换空间更改回原始大小:
sudo nano /etc/dphys-swapfile
将 CONF_SWAPSIZE 值编辑为 100 :
文件 /etc/dphys-swapfile
CONF_SWAPSIZE=100
保存文件并激活更改:
sudo /etc/init.d/dphys-swapfile restart
我们已经向您展示了如何在 Raspberry Pi 板上安装 OpenCV 。从源代码构建 OpenCV 为您提供了更大的灵活性,它应该是您安装 OpenCV 时的优先使用的方法。