当前位置:网站首页>树莓派4B安装opencv3.4.0
树莓派4B安装opencv3.4.0
2022-07-06 09:27:00 【帅帅气气的黑猫警长】
这玩意贼难安装,本人装了两天,make的时候失败一次就要从头再来。。。。
首先说明我这是:在树莓派安装运行在Python3上的OpenCV
进入正题:
安装前提:
1、配置好树莓派的Raspbian操作系统
2.切换到国内的apt-get下载源和pip下载源,防止下载速度过慢(这里就不详细说了,请自行百度)
安装opencv
1、安装numpy
安装Python科学计算库numpy(先获取管理员权限,su)
pip3 install numpy2、在树莓派设置中把根目录扩大到整个SD卡
命令行界面输入命令,进入树莓派配置界面。用上下键和左右键切换光标位置。
raspi-config
选择第七行:Advanced Options

选择第一项Expand Filesystem,将根目录扩展到这个SD卡。如果不进行这一步,后续命令会出现卡死。
退出设置界面,重启树莓派(reboot)。
3、安装OpenCV所需的库
八个命令,挨个运行,倒数第三条需要安装四个dev
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 -y4、下载OpenCV
下载两个压缩包到树莓派的**/home/pi/Downloads**目录下(最好下载到这个地方,后续比较方便)
首先切换到Downloads目录下,(根据自己情况而定,不一定是我下面写的这个路径)
cd /home/pi/Downloads用wget下载
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip若是访问GitHub有些困难,自行解决(文章末尾有链接)。
下载完成之后,解压到downloads文件夹
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip5、设置编译参数
cd /home/pi/Downloads/opencv-3.4.0
mkdir build
cd build设置CMAKE参数,时间有点长,十分钟左右吧,下面是一整句话,不要忘了复制后面俩点
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/Downloads/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..执行完成之后若出现下图表示成功

6、编译(幺蛾子最多且最耗时间的一个)
首先你存储空间要够,5g以上,最好不要用ssh连接树莓派,一段时间ssh会自动退出,导致你不知道make结束了没。最好用vnc连接,也可以树莓接显示器。
cd /home/pi/Downloads/opencv-3.4.0/build
make
树莓派4b,4g的运行内存,我跑了差不多四个小时左右,而且中途出岔子贼多。我总结一下我的
1、缺少文件型错误
报错:Built target opencv_tracking [Makefile:163 : all] 错误2,意思就是缺少boostdesc_bgm.i,boostdesc_bgm_bi.i等等这些文件
就是因为下载的安装包文件不全,把缺少的文件拷贝到:home/pi/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/src/下即可
需要用的文件,我最后给个链接。
2、路径报错类型
报错:fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录。
Building CXX object modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/opencv_stitching_pch_dephelp.cxx.o
In file included from /home/pi/opencv-3.4.0/build/modules/stitching/opencv_stitching_pch_dephelp.cxx:1:
/home/pi/opencv-3.4.0/modules/stitching/src/precomp.hpp:91:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
include “opencv2/xfeatures2d/cuda.hpp”
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/build.make:63:modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/opencv_stitching_pch_dephelp.cxx.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:21443:modules/stitching/CMakeFiles/opencv_stitching_pch_dephelp.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2这是一个类型,会爆出各种错误,比如cuda.hpp,xfeatures2d.hpp,nonfree.hpp等等好几个文件,都报错“没有那个文件或目录”。
这就是绝对路径和相对路径的区别,系统默认给的是相对路径,我们只需要找到报错的那个文件,找到错误的那一行,把相对路径,修改成绝对路径。
例如:include “opencv2/xfeatures2d/cuda.hpp”报错,就是因为找不到/cuda.hpp,我们直接把这个cuda.hpp设置成绝对路径,找到这个/cuda.hpp文件。
如果是按照我上面的路径,一般来说,都在/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d这里
然后我们找到报错的这个文件(/home/pi/opencv-3.4.0/modules/stitching/src/precomp.hpp),修改报错的这一行
然后就把include “opencv2/xfeatures2d/cuda.hpp”改成include “/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp”,然后保存,
总之这种类型解决方法一样,缺少的文件都在/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2这个里面。遇到“没有那个文件或目录”就去这个文件夹找,用pwd得到路径,然后去报错的文件中修改路径。
还有一点需要注意的是,make失败后,如果要重新make,首先要clean掉之前make的,在build目录下,执行
make clean然后再
make出现下图所示,就成功了(预估三个多小时)

100%之后且没有报错,恭喜您,马上成功!
接下来在build目录下,接着(需要管理员条件下运行,如果不是管理员身份,请先su)
make insall这个命令需要半分钟吧,没报错就说明成功了。
7、在Python3上测试OpenCV
打开python3,命令我就不用说了吧
首先
import cv2然后(注意是两个下划线)
cv2.__version__
出现如图效果,就说明成功了。
所需文件
opencv3.4文件以及缺少文件.zip: https://089u.com/file/30936724-479224952 访问密码:123456
边栏推荐
- China's peripheral catheter market trend report, technological innovation and market forecast
- MySQL授予用户指定内容的操作权限
- Web based photo digital printing website
- 1010 things that college students majoring in it must do before graduation
- HDU-6025-Coprime Sequence(女生赛)
- C 基本语法
- Ball Dropping
- Opencv learning log 19 skin grinding
- 快速转 TypeScript 指南
- CEP used by Flink
猜你喜欢

Determine the Photo Position

Differential (one-dimensional, two-dimensional, three-dimensional) Blue Bridge Cup three body attack

洛谷P1102 A-B数对(二分,map,双指针)

Pyside6 signal, slot

C语言学习笔记

Information security - threat detection - detailed design of NAT log access threat detection platform

Borg maze (bfs+ minimum spanning tree) (problem solving report)

Ball Dropping

Gartner:关于零信任网络访问最佳实践的五个建议

b站 实时弹幕和历史弹幕 Protobuf 格式解析
随机推荐
Find 3-friendly Integers
初入Redis
Record of force deduction and question brushing
Alice and Bob (2021 Niuke summer multi school training camp 1)
【练习-9】Zombie’s Treasure Chest
洛谷P1102 A-B数对(二分,map,双指针)
树莓派CSI/USB摄像头使用mjpg实现网页摄像头监控
[exercise-9] Zombie's Treasury test
Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
Write web games in C language
Research Report on market supply and demand and strategy of China's earth drilling industry
STM32 learning record: LED light flashes (register version)
Nodejs+vue online fresh flower shop sales information system express+mysql
通俗地理解什么是编程语言
对iptables进行常规操作
【练习-11】4 Values whose Sum is 0(和为0的4个值)
【练习4-1】Cake Distribution(分配蛋糕)
Borg Maze (BFS+最小生成树)(解题报告)
Find 3-friendly Integers
0 - 1 problème de sac à dos (1)