树莓派自编译opencv

项目介绍

OpenCV是一个基于BSD许可发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。而树莓派作为一款非常流行的开发学习平台,很多开发者的人工智能项目都基于opencv,然而,树莓派的软件源一般提供的都是opencv3.4.0这种老版本,这个项目将分享如何在树莓派上源码编译并安装指定版本的opencv。

说在前面

即便是最新的树莓派4B代(4G)版本,在一切顺利的情况下,编译安装完成本项目也大概需要5个小时以上,所以如果没有特殊要求可以考虑用清华源(其他软件源不太清楚是否有对应的软件包)直接安装opencv,关于如何换清华源不多赘述,请自行百度。换源之后,命令行依次执行

sudo apt update
sudo apt install python3-opencv

1.环境配置

(建议SSH远程连接树莓派操作,省去自己输入命令的烦恼)

现在你假设已经正确更换软件源,包括apt和pip,不换源在环境配置这一步可能会花费很多没必要花费的时间

对于一些博主进行扩容的操作思路,本人并没有进行所谓的扩容,且没有出现卡死的现象,所以本教程没有扩容这一步

安装opencv环境依赖,依次执行下面命令

sudo apt update && sudo apt install -y cmake g++ wget unzip
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y

2.下载源码并解压

(建议SSH远程连接树莓派操作,省去自己输入命令的烦恼)

opencv源码地址:

https://github.com/opencv/opencv/releases

找到自己想要的源码文件,我以4.5.4版本为例,此处下载源码有两种思路,一种是在windows电脑上下载好并通过FTP等上传给树莓派使用,另外一种是直接在树莓派使用wget命令下载源码,操作步骤如下:

右键下图所示的Source code(zip),选择复制链接地址,在SSH客户端使用下面命令

wget  https://github.com/opencv/opencv/archive/refs/tags/4.5.4.zip

等待下载完成!

命令行输入以下命令解压opencv源码

unzip 4.5.4.zip

同理,下载对应版本的opencv_contrib

opencv_contrib源码地址:

https://github.com/opencv/opencv_contrib/tags

找到对应版本的opencv_contrib,复制下载链接,命令行输入

wget  https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.zip

命令行输入以下命令解压opencv_contrib源码

unzip 4.5.4.zip.1

3.设置编译参数

(建议SSH远程连接树莓派操作,省去自己输入命令的烦恼)

以4.5.4版本为例:(其他版本请适当修改编译参数)

命令行依次输入一下命令

cd opencv-4.5.4
mkdir build && cd build

需要适当修改编译参数的地方来了,各战斗部门注意,复制下面的所有命令之后,别着急回车执行,细看后面说明部分

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv_contrib-4.5.4/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.9 PYTHON_INCLUDE_DIR=/usr/include/python3.9 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.9m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.9/site-packages/numpy/core/include ..

可能需要修改参数的部分说明:

因选择opencv版本不同,则需要修改编译参数中的版本信息参数

因opencv以及opencv_crntrib下载目录没放在/home/pi中,则需要修改对应路径部分的参数

与示例所用系统版本不匹配造成需修改参数,例如最新的bullseye系统是基于Debian11,python3采用3.9版本,而上一代系统buster系统python3则是采用python3.7版本,所以如果是buster系统的小伙伴需要修改多个参数

检查以上内容无误后,再回车执行,这个过程大约会花费10分钟

4.编译及安装

(建议通过VNC等远程桌面操作)

下面所有的命令执行的目录是在上一步创建的/build目录下,如果第三步到第四步有更换连接方式的小伙伴务必注意一下

受制于树莓派的性能,此过程会花费很长一段时间,大约需要4个小时,所以采用VNC连接方式,不至于在此过程中,电脑因为要观察树莓派编译进度而保持长时间开机,命令行执行下面命令

make

然后你会看到

0%

过了很久很久

100%

最后命令行执行(仍然是/build目录下)

sudo make install

耐心等待几分钟,大功告成!!!!!!

评论

  1. 苏子
    3年前
    2021-12-17 20:54:50

    \滑稽

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇