如何在Raspberry Pi 3上安装OpenCV
OpenCV(开源计算机视觉库)是一个开源计算机视觉库,并具有C ++,Python和Java的绑定。 它可用于非常广泛的应用程序,包括医学图像分析,拼接街景图像,监视视频,检测和识别人脸,跟踪运动对象,提取3D模型等等。
OpenCV可以利用多核处理的优势,并具有GPU加速功能以进行实时操作。
在本教程中,我们将说明如何在Raspberry Pi上安装OpenCV。
先决条件
我们假设您在Raspberry Pi上安装了Raspbian。
从Raspbian存储库安装OpenCV#
可从标准Raspbian存储库中获得OpenCV Python模块。 在撰写本文时,存储库中的版本为3.2,这不是最新版本。
要安装OpenCV Python模块,请运行以下命令:
sudo apt update
sudo apt install python3-opencv
上面的命令将安装运行OpenCV所需的所有软件包。
要验证安装,请导入 cv2
模块并打印OpenCV版本:
python3 -c "import cv2; print(cv2.__version__)"
3.2.0
如果您想使用Python 2绑定安装OpenCV,请安装 python-opencv
包。
从源代码安装OpenCV
推荐的安装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贡献存储库:
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
使用以下命令设置OpenCV构建配置 cmake
:
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 OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic
-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
根据Raspberry Pi的型号,此过程将花费一些时间,大约1-2小时。 如果由于资源不可用而在某个时候编译失败,请运行 make
再次输入命令,该过程将从停止的地方继续。
完成后,您将看到以下内容:
...
[100%] Linking CXX shared module ../../lib/python3/cv2.cpython-35m-arm-linux-gnueabihf.so
[100%] Built target opencv_python3
最后一步是安装编译的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时它应该是您的首选。
如果您有任何疑问或反馈,请在下面发表评论。
opencv python树莓派