初学树莓派——(六)树莓派安装OpenCV及USB摄像头配置

2023-11-19

目录

1、安装OpenCV

1.1前言

1.2换源及源内容更新

1.3安装依赖

1.4下载whl包

 1.5安装OpenCV

1.6检查安装

2、USB摄像头配置(同时检查OpenCV安装情况)

2.1前言

2.2Python调用cv2库来检查是否安装到位


1、安装OpenCV

1.1前言

  此处对流 浪 猫表示感谢,本文参考了超简单教你在树莓派上安装opencv(二)

初学树莓派番外——(一)复制系统中已经说过,我复制系统的目的就是扩容,然后安装OpenCV去跑人工智能,我的系统是官网下载的32位系统,Python版本为3.9.2。建议大家在安装OpenCV前将SD卡备份或者复制一份,出错的时候不至于从头再来。

getconf LONG_BIT    //查询系统位数
python              //查询Python版本

1.2换源及源内容更新

由于树莓派软件源为国外的网站,导致下载软件和搭建的服务器等运行速度比较慢,更换国内源可以提高下载速度,也不容易出现各种错误。

输入命令实现换源

wget -qO- https://tech.biko.pub/resource/rpi-replace-apt-source-buster.sh | sudo bash

输入命令实现源内容更新

sudo apt-get update

sudo apt-get upgrade

1.3安装依赖

输入以下命令来安装依赖

sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
sudo apt-get install libqtgui4
sudo apt-get install python3-pyqt5
sudo apt install libqt4-test

只要不出现红色的warnning都是没问题的

1.4下载whl包

输入命令uname -a即可查询系统架构

whl包下载网址https://piwheels.org/project/opencv-python/#install

我下载的是这个,大家根据自己系统架构和Python版本来选择

下载完之后将whl包想办法放到树莓派里面,远程传输和U盘拷贝都可以

 1.5安装OpenCV

cd Desktop//进入桌面

pip install opencv_python-4.5.5.64-cp39-cp39-linux_armv7l//安装whl

成功安装

1.6检查安装

输入命令python

输入import numpy

输入numpy.__version__

此时返回numpy版本号

输入import cv2

输入cv2.__version__

此时返回cv2版本号

到这里就表示已经安装成功,接下来就可以通过USB摄像头以实战的方式来检查OpenCV的安装情况

2、USB摄像头配置(同时检查OpenCV安装情况)

2.1前言

此处对@陌阡表示感谢,本文参考了树莓派与OpenCV实现人脸识别(人脸识别篇)

测试摄像头的前提是已经在树莓派中开启了camera接口

接下来在插入USB摄像头前后都输入lsusb以便于观察是否有设备接入

首先检查摄像头是否能够正常使用,我们使用luvcview这个工具来查看摄像头的实时视频

输入命令sudo apt-get install luvcview安装luvcview

输入命令luvcview -s 1080x720//以1080*720表示采集的分辨率

这个时候我们就可以看到摄像头采集的实时画面了

输入Ctrl+C退出

2.2Python调用cv2库来检查是否安装到位

下载相关程序git clone https://gitee.com/jeebus/Facial_Recognition.git

默认保存在Facial_Recognition文件夹下

输入命令cd Facial_Recognition

输入命令python3 simpleCamTest.py

如果OpenCV库没有安装到位的话,那我们在执行上述py文件的时候会报错,正常执行的话就是图所示

输入Ctrl+C退出

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初学树莓派——(六)树莓派安装OpenCV及USB摄像头配置 的相关文章

  • 从包含带边框的表格的图像中提取表格结构

    我正在尝试提取下表中的单元格位置 应用自适应阈值处理后 我能够获得细胞位置周围的轮廓 并且 HoughLines 获得垂直和水平结构元素 这是我的代码 img cv2 imread os path join img path file im
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • iOS 上的 OpenCV - VideoCapture 属性始终返回 1

    我一直在尝试构建一个简单的 OpenCV iOS 应用程序 该应用程序从捆绑包中加载视频并查询其帧数 持续时间等 然后它将尝试从中获取各个帧 不幸的是 当我使用VideoCapture类中 所有属性返回值 1 然后我尝试导航到frame 1
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 二值图像中骨架上两点之间的最短路径

    我有一个二进制图像 其中包含图像的一个像素宽度骨架 您可能基本上知道 在这个二值图像中 我在骨架上有 1 在其他地方有 0 如何找到骨架上两个非零元素之间的最短距离 路径也应该在骨架本身上 我想使用 A star 算法的 C 实现 我找到了
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • OpenCV Mat 和 Leptonica Pix 之间的转换

    我需要在 C 中在 OpenCV Mat 图像和 Leptonica Pix 图像格式之间进行转换 这用于 8 位灰度图像的二值化 我发现发现了 ikaliga的回答 https stackoverflow com a 25929320 2
  • 将 4 通道图像转换为 3 通道图像

    我正在使用 OpenCV 2 4 6 我正在尝试将 4 通道 RGB IplImage 转换为 4 通道 HSV 图像 下面是我的代码 给出错误 OpenCV 错误 未知函数断言失败 我认为 cvCvtColor 支持 3 通道图像 有没有
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im

随机推荐