将esp32-s3-eye做为USB网络摄像头(UVC设备)

news2024/9/22 17:14:24

官方网址:usb_webcam

  • 支持UVC同步、批量传输模型
  • 只支持MJPEG传输格式
  • 支持板上LCD动画esp32-s3-eyeIDF v5.0或更高版本)

在这里插入图片描述

硬件要求

官方默认的USB WebCam config就是乐鑫带摄像头OV2604esp32-s3-eye,其他的开发板可以参考官方网站进行配置。

摄像头要求

  1. 参考esp32-camera查看摄像头是否支持JPEG压缩;
  2. 使用idf.py menuconfigUSB WebCam config配置帧分辨率、帧速率和图像质量;
  3. 通过USB WebCam config -> UVC transfer mode,用户可以切换到Bulk模式来获得差不多Isochronous两倍的吞吐量。
    在这里插入图片描述

编译和烧录

idf.py set-target esp32s3
idf.py build flash moniotr

官方的示例输出

I (0) cpu_start: Starting scheduler on APP CPU.
I (533) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (534) usb_webcam: Selected Camera Board ESP-S3-EYE
I (534) usb_webcam: Format List
I (534) usb_webcam:     Format(1) = MJPEG
I (534) usb_webcam: Frame List
I (535) usb_webcam:     Frame(1) = 1280 * 720 @15fps, Quality = 14
I (535) usb_webcam:     Frame(2) = 640 * 480 @15fps, Quality = 14
I (535) usb_webcam:     Frame(3) = 480 * 320 @30fps, Quality = 10
I (869) usb_webcam: Mount
I (2099) usb_webcam: Suspend
I (9343) usb_webcam: bFrameIndex: 1
I (9343) usb_webcam: dwFrameInterval: 666666
I (9343) s3 ll_cam: DMA Channel=4
I (9344) cam_hal: cam init ok
I (9344) sccb: pin_sda 4 pin_scl 5
I (9344) sccb: sccb_i2c_port=1
I (9354) camera: Detected camera at address=0x30
I (9357) camera: Detected OV2640 camera
I (9357) camera: Camera PID=0x26 VER=0x42 MIDL=0x7f MIDH=0xa2
I (9434) cam_hal: buffer_size: 16384, half_buffer_size: 1024, node_buffer_size: 1024, node_cnt: 16, total_cnt: 180
I (9435) cam_hal: Allocating 184320 Byte frame buffer in PSRAM
I (9435) cam_hal: Allocating 184320 Byte frame buffer in PSRAM
I (9436) cam_hal: cam config ok
I (9436) ov2640: Set PLL: clk_2x: 0, clk_div: 0, pclk_auto: 0, pclk_div: 12

实际上烧录结果如下,应该是烧录后USB口应该被占用了所以没有打印输出。
在这里插入图片描述

电脑端查看摄像头

现在电脑就可以直接访问摄像头了,使用python运行下面代码,在打开摄像头的时候LCD上的动画的眼睛会一直眨巴眨巴。

import cv2

# 打开摄像头,参数0表示第一个摄像头,如果有多个摄像头可以尝试1, 2, 3等
cap = cv2.VideoCapture(0)

if not cap.isOpened():
    print("无法打开摄像头")
    exit()

while True:
    # 读取摄像头的一帧
    ret, frame = cap.read()
    
    if not ret:
        print("无法接收帧 (stream end?). Exiting ...")
        break
    
    # 显示这一帧
    cv2.imshow('Image', frame)
    
    # 按下'q'键退出循环
    if cv2.waitKey(1) == ord('q'):
        break

# 释放摄像头并关闭所有OpenCV窗口
cap.release()
cv2.destroyAllWindows()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2122164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

仿微信QQ聊天系统源码设计开发

一、引言 随着移动互联网的快速发展,即时通讯软件已成为人们日常生活中不可或缺的一部分。仿微信QQ聊天系统作为一种模仿主流聊天软件功能的应用,旨在为用户提供高效、便捷的沟通方式。本文将从系统架构、功能模块等方面详细介绍仿微信QQ聊天系统的设计…

Visual studio自动添加头部注释

记事本打开VS版本安装目录下的Class.cs文件 增加如下内容:

Linux 访问控制列表(Access Control List)

在Linux中,目录或文件的权限是针对的所有者(owner),所属组(group),其他人(others)这3种类别来设置的。这种根据类别控制权限的方法无法精确控制每个用户的行为。为了解决这个问题,Linux引入了访问控制列表(Access Cont…

网络安全知识:什么是访问控制列表 (ACL)?

访问控制列表 (ACL) 是网络安全和管理的基础。它们在确定谁或什么可以访问网络内的特定资源方面发挥着重要作用。 本文深入探讨了 ACL 的复杂性,探索了其类型、组件、应用程序和最佳实践。我们还将比较不同操作系统的 ACL,并讨论它们在网络架构中的战略…

基于C#的UDP协议消息传输

1. 服务端 internal class Program{static void Main(string[] args){//1.创建SocketSocket socketServer new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);//2.绑定IP、端口号EndPoint endPoint new IPEndPoint(IPAddress.Parse("127.0.0.1&…

Grid布局常用属性梳理

布局属性 aligin-items 作用:CSS align-items 属性设置了所有直接子元素的 align-self 值作为一个组。在 Flexbox 中,它控制子元素在交叉轴上的对齐。在 Grid 布局中,它控制了子元素在其网格区域内的块向轴上的对齐。 应用对象:…

VIC leak detection MS40-MS50检漏仪手侧

VIC leak detection MS40-MS50检漏仪手侧

web基础之XSS

一、搭建XSS平台 安装 1、我这里安装在本地的Phpstudy上,安装过程就是一路下一步(可以改安装路径),附上下载链接: # 官网:https://www.xp.cn/download.html# 蓝莲花 - github下载 https://github.com/fi…

报名啦|PolarDB数据库创新设计赛(天池杯)等你来战

2024年全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)现已正式启动报名,大赛面向全国普通高等学校全日制在读本专科学生,欢迎同学们踊跃参加! 大赛介绍 2024年全国大学生计算机系统能力大赛PolarDB数…

C语言:刷题日志(3)

一.猴子选大王 一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不…

计算机二级自学笔记(选择题1部分)

A 问题规模越大,越需要多次的循环处理数据,不能说无关。 A 冒泡排序最坏次数n(n-1)/2,每一个数据都需要从最下方依次对比到最上方。 A 栈顶栈底指针都可以随操作而变化。头尾指针相同可能为空,循环队列可…

数据集 HO3D一种用于手和物体姿态的3D数据 >> DataBall

数据集 HO3D一种用于手和物体姿态的3D标注方法 手部姿态估计 姿态检测 HO-3D是一个包含手和物体在严重相互遮挡情况下的3D姿态注释的数据集。 数据集中的68个序列包含10个不同的人操作10个不同的物体,这些物体来自YCB物体数据集。当前数据集包含77,558张图像的注释…

Hive SQL查询汇总分析

目录 SQL查询汇总分析 成绩查询 查询编号为“02”的课程的总成绩 查询参加考试的学生个数 分组查询 查询各科成绩最高和最低的分 查询每门课程有多少学生参加了考试(有考试成绩) 查询男生、女生人数 分组结果的条件 查询平均成绩大于60分的学生的学号和平均成绩 查询至少…

后谷歌时代

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【精彩回顾·成都】成都 UG 生成式 AI 工作坊:探索未来职场新边界!

文章目录 前言一、活动介绍二、精彩分享内容及活动议程2.1、亚马逊云科技社区情况和活动介绍2.2、《构建优势思维,打造高效团队》2.3、《成为有影响力的技术领导者》2.4、现场互动情况2.5、休息茶歇时间2.6、《向内探索-更多可能》2.7、《即刻起飞 —— 通过 Amazon…

一起对话式学习-机器学习01——贝叶斯学习

【一】声明 由于时间关系,这个系列主要推理内容可能大部分以手写笔记的形式展示,但是对于有大量公式形式及数学推导的科目来说,将更多的精力专注于对内容本身的理解中应该是更合理的。(之后会规范字体QAQ) 【二】贝叶斯…

骨传导耳机哪个牌子最好?五款热门高销骨传导耳机力荐

随着人们健康意识的增强和运动习惯的养成,骨传导耳机因其独特的优势逐渐成为许多运动爱好者的首选。然而,在众多品牌和型号中选择一款合适的骨传导耳机并非易事。市场上充斥着各种关于骨传导耳机的传言,这些传言有时会让消费者感到困惑&#…

C2P 因果推理链:让大模型具备人类级的因果推理能力

C2P 因果推理链:让大模型具备人类级的因果推理能力 C2P 框架创意翻译 论文:C2P: Featuring Large Language Models with Causal Reasoning 代码:https://anonymous.4open.science/r/C2P-5C2A/README.md C2P 框架 ├── C2P框架的主要子任务…

保姆级离线+windows环境+私有化部署大模型

基于gis数据的高敏感高保密性要求,相信gis的小伙伴都有如下的需求:在内网,无外网环境下,部署自己的私有化大模型。 1.环境背景: 没有Linux环境,只是windows 无外网,内网环境 2.安装部署过程…