树莓派4B 安装opencv完整教程基于python3(各种错误解决)

树莓派4B 安装opencv完整教程基于python3(各种错误解决)本人一直在做opencv的项目,需要入手一块树莓派来在移动端跑opencv,所以买了一块树莓派4B,然后安装上了系统,开启了曲折的opencv安装之旅。首先有幸看到子豪兄的视频,还是很好的,所以直接跟着它子豪兄教你在树莓派上安装OpenCV教程安装opencv,但是后来发现各种不可名状的错误,最后发现他的是基于树莓派3B+,环境是python3.5,但是树莓派4B的环境是python4B,所以不…

大家好,又见面了,我是你们的朋友全栈君。

本人一直在做opencv的项目,需要入手一块树莓派来在移动端跑opencv,所以买了一块树莓派4B,然后安装上了系统,开启了曲折的opencv安装之旅。
首先有幸看到子豪兄的视频,还是很好的,所以直接跟着它子豪兄教你在树莓派上安装OpenCV教程安装opencv,但是后来发现各种不可名状的错误,最后发现他的是基于树莓派3B+,环境是python3.5,但是树莓派4B的环境是python4B,所以不能完全使用他的教程。

开始我们的教程:

一,更换源

如果你是安装的树莓派原装系统,你就需要换源,更换成清华源或者是中科大源
在树莓派命令指令行中输入

sudo nano /etc/apt/sources.list

用#注释掉原文件内容,用以下内容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ contrib main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ contribmain contrib non-free rpi

然后ctrl+o保存,点回车确认保存,然后ctrl+x退出
再输入

 sudo nano /etc/apt/sources.list.d/raspi.list

同样的

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

然后ctrl+o保存,点回车确认保存,然后ctrl+x退出
最后输入

 sudo apt-get update
 sudo apt-get upgrade

使用命令更新软件源列表,同时检查编辑是否正确。再更新软件

二,存储空间的一些说明和操作

必须使用16G以上的卡,最好是class10以上,实测8G class6卡安装到35%就爆满了,推算安装完成要4.6G左右。
然后扩大文件系统。因为,用SD卡安装完系统后一大部分空间实际是未被分配的
使用命令

sudo raspi-config

然后选择第七个
在这里插入图片描述
然后选择第一个回车,会让你重启树莓派,选择立即重启

在这里插入图片描述
重启命令

sudo reboot

三,opencv相关库的下载

sudo pip3 install numpy
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 -ysudo 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

四、下载opencv安装包
下载OpenCV4.1

git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git

本人等他下了一万年,总是各种断流,最后选择到官网下载
安装包解压

cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip

五,设置编译参数

cd /home/pi/Downloads/opencv-4.1.0
mkdir build
cd build

Cmake 经过配置,可输出适配于树莓派平台的Makefile

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-4.1.0/modules \#本行需根据自己安装的路径修改
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..

需要比较长的时间,慢不要紧,不报错就行

在这里插入图片描述
配置成功界面

六,编译
输入

make

然后开始各种坑总结

在这里插入图片描述
第一个大坑
可以在一个大佬的百度云盘里下载然后将所有带i结尾的文件全部都拷贝到 opencv_contrib/modules/xfeatures2d/src/ 路径下即可
树莓派安装opencv时丢失的文件:
链接:https://pan.baidu.com/s/1xi6_5NuTFiP4SD649FgIJw
提取码:mbsj
原文链接:https://blog.csdn.net/weixin_43308627/article/details/97814927
继续输入make

在这里插入图片描述
在这里插入图片描述
第二个大坑
这两幅图属于同一错误,同样参考了以为大神的操作
这个一看是头文件有点问题哈,再把下面文件夹里的两个文件拷贝到/home/pi/…/opencv_contrib/modules/xfeatures2d/test

在打开这个文件,修改下头文件。
在这里插入图片描述

在这里插入图片描述
如果是连续在这个地方出错,都是这一操作
在这里插入图片描述
完成哈哈哈哈哈

七,安装
基本无意外

sudo make install

成功,最后测试一下

python3
import cv2

不报错即完成

最后总结一下,就是要多思考多总结,不要盲目相信各种操作
要看自己的错误到底是什么,感谢各位大佬的帮助

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131742.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 图片批量重命名的2种好方法有哪些_怎么给手机图片重命名

    图片批量重命名的2种好方法有哪些_怎么给手机图片重命名第一种,使用CTRL+A(全选)快捷键或者按CTRL键使用鼠标选中部分图片按F2(重命名快捷键)或者鼠标右键→重命名重命名只有一个图片出现编辑框,编辑完成回车就可以了。第二种,使用pptX文档更改。格式为(image1.jpeg,image2.jpeg,image3.jpeg……)新建ppt文档点击插入→图片pptX!pptX!pptX!我试了ppt文档压缩后不能打开找到图片所在的路径,全选图片后点击打开,保存文档…

  • 基于Linux安装redis

    基于Linux安装redis一、下载redis压缩包进入redis官网https://download.redis.io/releases/选择要下载的版本将下载好的压缩包使用Xftp上传至Linux系统中或者直接在Linux中使用命令直接下载wgethttps://download.redis.io/releases/redis-4.0.0.tar.gz使用tar命令解压tarxzfredis-4.0.0.tar.gz二、安装redis进入redis文件夹中,使…

  • linux系统搭建ftp服务器及创建用户——centos7.3「建议收藏」

    linux系统搭建ftp服务器及创建用户——centos7.3「建议收藏」linux系统下搭建ftp服务器linux系统下搭建ftp服务器一点都不难,初次进行配置的时候花了很多时间进行linux命令扫盲,故写下这篇博客。环境:window操作系统中安装SecureCRT和FlashFXP软件服务器端的操作系统为centos7.3在客户端使用SecureCRT软件root帐号远程登录服务器端重点记录:相关用户的创建、修改文…

  • js循环精灵图

    js循环精灵图js循环精灵图循环精灵图可以不用在给每一个小块一一的修改位置。左侧是一大张背景图右侧是成品是预览图这个背景图的位置其实是有规律的,每两张之间间隔一个固定长度,这个固定长度刚好等于一个小图标的长度,我们使用的这个图间隔44px。 <scripttype=”text/javascript”> varlis=document.querySelectorAll…

  • 基于C语言的图书管理系统_c语言图书管理系统课程设计报告

    基于C语言的图书管理系统_c语言图书管理系统课程设计报告该系统包括以下功能:1、注册账号2、登录账号3、修改密码4、录入功能5、添加功能6、删除功能7、修改功能8、浏览功能9、查询密码10、排序功能

    2022年10月11日
  • 原生ajax请求的五个步骤

    原生ajax请求的五个步骤什么是ajax?通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。ajax的优点:1.实现局部更新(无刷新状态下)2.减轻了服务器端的压力ajax的缺点:1.破坏了浏览器前进和后退机制(因为ajax自动更新机制)2.一个Ajax请求多了,也会出现页面加载慢的情况。3.搜索引擎的支持程度比较低。4.ajax的安全性问题不太好(可以用数据加密解决)。注:如果要使用ajax必须要有后端环境的支持(服务器端)。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号