在树莓派3B+中下载opencv(遇到的各种问题及解决)

2024-05-29 00:04

本文主要是介绍在树莓派3B+中下载opencv(遇到的各种问题及解决),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

1、删除原版本下新版本

2、python虚拟环境

3、python版本共存换链接——给版本降低

4、烧录之前版本的文件(在清华源中可以找,不用官网的烧录文件就行;

比如:(balenaEtcher)重新烧录有问题可以看:

树莓派3B+入门(无外设)-CSDN博客

可参考这篇文章;找到自己想烧录的使用国内镜像站下载树莓派 Raspberry Pi OS 操作系统_raspberry pi os with desktop and recommended softw-CSDN博客

一、选择版本烧录

二、换源

三、安装opencv

 四、测试

 五、问题汇总

前言


下载opencv是根据python的对应的版本来确定,我烧录完的python是3.11的(太新了对现在来说)然后就找对应的opencv版本,我想用以前原仓库的代码,发现的python3.9的,于是在网上找方法发现有;

1、删除原版本下新版本


  直接删掉原本系统的python3.11,然后直接重新下载python3.9,我试的时候,重启了一下,然后打开的时候;连终端都调用不起来了;重置SD卡了;(建议一口气完成安装)

2、python虚拟环境

  下载了,虚拟环境conda来管理,然后因为在虚拟环境,扩展包下载不了(pip命令报错)用不了pip,就换了好几个虚拟环境都不行,最后在系统自带的3.11环境里下载了(结果在opencv-换源的地方报错了)然后opencv那个时候不知道——高版本python可以下载低版本稳定的opencv版本;
树莓派3B+中下载miniconda3-CSDN博客

树莓派3B+中下载miniconda3(图文全过程)-CSDN博客

3、python版本共存换链接——给版本降低


在网上看到了3.9版本降低到3.7的,然后我就把3.11降低到了3.9,结果下载就报错(和方法2一样);还是换源不行;

4、烧录之前版本的文件(在清华源中可以找,不用官网的烧录文件就行;

比如:(balenaEtcher
重新烧录有问题可以看:

树莓派3B+入门(无外设)-CSDN博客

可参考这篇文章;找到自己想烧录的
使用国内镜像站下载树莓派 Raspberry Pi OS 操作系统_raspberry pi os with desktop and recommended softw-CSDN博客

一、选择版本烧录

如果要用旧版本11 bullseye,自带python为3.9.2的镜像进行烧录安装。

2022-9-22-raspios-bullseye-armhf.img.xz

  • raspios_full_armhf:完整版 Raspberry Pi OS 系统(链接随便选)
    • TUNA 链接
    • SJTUG 链接

下载完成到本地烧录时删掉后面点缀.xz(没显示的后缀的在文件夹里面开一下)

如果给新树莓派配环境时忘记密码了可以用外设,或者线插自己的电脑上先修改密码

也可以拔SD卡修改里面的文件,进入root模式
更改pi用户

sudo passwd pi  

更改root密码

sudo passwd root  


烧录完后,终于恍然大悟是版本问题不对应;

在更换软件源时要考虑我们安装的树莓派系统版本,Raspbian有多个版本, wheezy, jessie,stretch,buster,只有更换的源与我们安装的系统匹配才可以。

查看自己的版本是什么

lsb_release -a

二、换源

找到自己的版本后就可以换源了(清华源)

点击(跳转清华源)

找到复制后再树莓派终端打开两个文件进行编写添加(要把原来的文件注释掉) 

sudo nano /etc/apt/sources.list

#把原来的注释掉(ctrl+s ; ctrl+x)保存;退出

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

然后换另一个 

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

#把原来的注释掉(ctrl+s ; ctrl+x)保存;退出

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main

 完了后更新一下

sudo apt-get update

三、安装opencv

一键安装opencv

sudo apt-get install python3-opencv

 四、测试

安装完成后,在终端进入python后测试一下是否成功

import cv2
cv2.__version__ 

正常是会输出版本的(如果numpy库的问题是少依赖——安装即可)

sudo apt-get install libblas-dev liblapack-dev
sudo apt-get install libatlas-base-dev

 五、问题汇总

换源升级时(遇到如下问题)

Err:1 https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian bullseye InRelease                Temporary failure resolving 'mirrors.tuna.tsinghua.edu.cn' 
Err:2 http://mirrors.tuna.tsinghua.edu.cn/raspberrypi bullseye InRelease                       Temporary failure resolving 'mirrors.tuna.tsinghua.edu.cn' 
Reading package lists... Done                                                                W: Failed to fetch https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/dists/bullseye/InRelease  
Temporary failure resolving 'mirrors.tuna.tsinghua.edu.cn' 
W: Failed to fetch 
http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/dists/bullseye/InRelease  
Temporary failure resolving 'mirrors.tuna.tsinghua.edu.cn' 
W: Some index files failed to download. 
They have been ignored, or old ones used instead.+

解决1:

 sudo nano /etc/resolv.conf

 resolv.conf 文件主要的配置内容就是网络的DNS了

自己的WiFi什么的基本都是

nameserver 8.8.8.8

解决2:

http与https 协议,换着用用
改为http,运行

​​​​​​​sudo apt update

修改回HTTPS方式;运行

sudo apt update && sudo upgrde -y

 解决3:

sudo nano /etc/dhcpcd.conf

修改文件中 domain_name_servers 的内容,在那一行最后面加上 8.8.8.8 8.8.4.4
name_servers+地址+8.8.8.8 8.8.4.4

注:(对这个疑惑的可以看Linux中/etc/resolv.conf文件简析_linux虚拟机namesever是什么-CSDN博客

运行

sudo service dhcpcd restart
sudo systemctl daemon-reload
sudo /etc/init.d/networking restart

Restarting networking (via systemctl): networking.service.就完事,再看看!!!!

sudo apt-get update

如果下载过程还有问题可以看
树莓派4B 安装opencv完整教程基于python3(各种错误解决)_树莓派4b 安装opencv完整教程基于py-CSDN博客

这篇关于在树莓派3B+中下载opencv(遇到的各种问题及解决)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1012069

相关文章

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题