电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
在树莓派上安装OpenCV
分 享
扫描二维码分享
在树莓派上安装OpenCV
树莓派
OpenCV
科技爱好者博客
关注
发布时间: 2020-04-23
丨
阅读: 1232
在本指南中,我们将引导您完成在Raspberry Pi上设置OpenCV的过程。 成功将OpenCV安装到Raspberry Pi上需要几个不同的步骤,并且要有一定的耐心。 对于那些不知道什么是OpenCV的人。它是一个包含不同编程功能的库,旨在处理实时计算机视觉。 使用计算机视觉,您可以实时解释图像和视频。使您可以相对轻松地执行诸如运动检测和面部识别之类的任务。 树莓派是开始学习OpenCV的绝佳平台,并且还可以用作价格适中的小型设备。 ##设备清单 - 树莓派 1、2、3或4 - SD卡 - 树莓派电源 - 以太网线或 WI-FI无线网卡(Pi 3和4内置WiFi) - 树莓派摄像头 ## 安装OpenCV的软件包 在本节中,我们将引导您完成安装所有编译和运行OpenCV软件所需的软件包的过程。 由于OpenCV在树莓派上需要许多软件包,因此我们将通过几个步骤安装它们。 **1.**在继续之前,我们应该先更新任何先前存在的软件包。 您可以通过运行以下两个命令来更新当前安装的软件包。 ```bash sudo apt update sudo apt upgrade ``` **2.**现在,我们可以开始安装OpenCV编译所需的所有软件包的过程。 首先,运行以下命令。此命令将安装包含编译OpenCV代码所需工具的软件包。 ```bash sudo apt install cmake build-essential pkg-config git ``` **3.**接下来,我们安装将为OpenCV添加对不同图像和视频格式支持的软件包。 使用以下命令将这些库安装到树莓派中。 ```bash sudo apt install libjpeg-dev libtiff-dev libjasper-dev libpng-dev libwebp-dev libopenexr-dev sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libdc1394-22-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ``` **4.**我们的下一步是使用以下命令安装OpenCV界面所需的所有软件包。 ```bash sudo apt install libgtk-3-dev libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5 ``` **5.**这些下一个软件包对于OpenCV在树莓派上以适当的速度运行至关重要。 您可以通过运行以下命令来安装这些软件包。 ```bash sudo apt install libatlas-base-dev liblapacke-dev gfortran ``` **6.**我们需要安装的第二批软件包与OpenCV用于管理数据的分层数据格式(HDF5)有关。 使用以下命令将HDF5软件包安装到Pi。 ```bash sudo apt install libhdf5-dev libhdf5-103 ``` **7.**最后,我们可以使用以下命令安装最后几个软件包。 这最后几个软件包将使我们能够在树莓派上编译支持Python的OpenCV。 ```bash sudo apt install python3-dev python3-pip python3-numpy ``` 在继续下一节之前,请确保所有软件包均已成功安装。 ## 准备用于编译OpenCV的树莓派 **1.**现在已经安装了在树莓派上编译OpenCV所需的所有软件包,我们需要做一些准备工作,然后才能开始编译过程。 现在,我们需要暂时增加交换空间的大小,以帮助在树莓派上编译OpenCV的过程。 当设备的物理内存用完时,操作系统将使用交换空间。尽管交换内存比无力内存慢很多,但在某些情况下它仍然很有用。 通过运行以下命令开始修改交换文件配置。 ```bash sudo nano /etc/dphys-swapfile ``` **2.**在此文件中时,我们需要查找并替换以下行。 找到 ```bash CONF_SWAPSIZE=100 ``` 用以下这行来代替 ```bash CONF_SWAPSIZE=2048 ``` 更改后,按CTRL+ X,Y然后按,保存文件Enter。 **3.**在更改交换文件配置后,我们需要使用以下命令重新启动其服务。 ```bash sudo systemctl restart dphys-swapfile ``` 通过重新启动服务,我们迫使它重新创建交换文件。 **4.**接下来,让我们继续并将所需的两个OpenCV存储库克隆到Raspberry Pi中。 运行这两个命令将从其git存储库中检索OpenCV的最新可用版本。 ```bash git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git ``` 由于这些存储库很大,因此可能需要一些时间才能克隆到您的Raspberry Pi。 ## 在树莓派上编译OpenCV **1.**首先,在克隆的“ opencv ”文件夹中创建一个名为“ build ”的目录,然后将工作目录更改为该目录。 ```bash mkdir ~/opencv/build cd ~/opencv/build ``` 在此文件夹中,我们将在树莓派上编译OpenCV。 **2.**现在我们位于新创建的build文件夹中,现在我们可以cmake用来准备OpenCV以便在树莓派上进行编译。 运行以下命令以生成所需的makefile。 ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D CMAKE_SHARED_LINKER_FLAGS=-latomic \ -D BUILD_EXAMPLES=OFF .. ``` **3. **make文件成功完成生成后,我们现在可以通过运行以下命令最终继续编译OpenCV。 我们使用参数-j$(nproc)来告诉编译器为每个可用处理器运行编译器。 这样做将大大加快编译过程,并使Raspberry Pi上的每个内核都可以编译OpenCV。 ```bash make -j$(nproc) ``` 请注意,编译过程可能会花费大量时间。在树莓派4上,此过程耗时约1个小时。 **4.**编译过程完成后,我们可以继续安装OpenCV。 对我们来说幸运的是,这是一个相当简单的过程,需要您运行以下命令。 ```bash sudo make install ``` 此命令将自动将所有必需的文件复制到所需的位置。 **5.**现在,我们还需要重新生成操作系统库链接缓存。 如果不运行以下命令,树莓派将无法找到我们的OpenCV安装。 ```bash sudo ldconfig ``` ## 编译后清理 **1.**现在我们已经完成了OpenCV的编译,我们不再需要这么大的交换文件。 让我们再次使用以下命令编辑交换文件配置。 ```bash sudo nano /etc/dphys-swapfile ``` **2.**在此文件中,您需要查找并更改以下行。 找到 ```bash CONF_SWAPSIZE=2048 ``` 用以下这行来代替 ```bash CONF_SWAPSIZE=100 ``` 完成后,按CTRL+ X,Y然后按,保存文件Enter。 **3.**现在,我们的最终清理任务要求我们重新启动交换文件服务。 重新启动服务会将文件大小从2GB减小到100 MB。 ```bash sudo systemctl restart dphys-swapfile ``` ## 在树莓派上测试OpenCV **1.**要测试现在是否已将OpenCV安装到我们的树莓派中,我们将使用Python 3。 通过运行以下命令启动Python终端。 ```bash python3 ``` **2.**在Python中时,我们现在可以使用以下命令导入OpenCV Python模块。 通过导入模块,我们可以首先检查OpenCV是否甚至可以在我们的Pi上加载。 ```bash import cv2 ``` **3.**现在导入了OpenCV模块,我们应该能够检索其版本。 要获取OpenCV的版本,请使用以下命令。 ```bash cv2.__version__ ``` **4.**如果现在一切正常,并且OpenCV已成功安装到您的Raspberry Pi中,则您应该在命令行中看到如下所示的文本。 ```bash '4.1.2' ```
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
科技爱好者博客
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交