摄像头应用
[English]
1. ESP32 系列芯片支持哪种类型的摄像头?
请参考 ESP32系列支持的摄像头型号。
更新时间:2022.4.22
2. 摄像头输出图像都有什么格式?
图像格式:主要由摄像头决定,如果某个摄像头支持多个图像格式,如 RGB565、RGB888、YUV422、JPEG 等,需要通过配置摄像头的寄存器来选择输出格式。
更新时间:2022.4.22
3. 摄像头支持哪些参数调整?
图像数据传输速度 (PCLK)、摄像头输出格式、分辨率、输出图像大小、白平衡、GAMMA 校正等摄像头自带的图像模式参数调整。
更新时间:2022.4.22
4. 摄像头中 MCLK 和 PCLK 区别及关系?
MCLK 是摄像头输入的主时钟,带动整个摄像头的主频。
PCLK 是摄像头输出的时钟,主要为输出数据提供 CLK。
MCLK 在摄像头内经过倍频/分频(根据摄像头配置决定)后得到 PCLK。
更新时间:2022.4.22
5. 摄像头的 PCLK 是不是越高越好?
理论上 PCLK 速度越高数据传输越快,但实际使用中,PCLK 越高也意味着对芯片的处理速度要求越高。
当前 ESP32 和 ESP32S2 芯片并口通信是通过 I2S 接口实现的,过高的 PCLK 会导致并口数据无法同步,出现图像抖动甚至花屏的现象。
ESP32S3 使用独立的 LCD—CAM 接口,可以支持更高的 PCLK 频率。
ESP32 的 PCLK 上限为 8 MHz。
ESP32S2 的 PCLK 上限为 32 MHz。
ESP32S3 的 PCLK 上限为 40 MHz。
更新时间:2022.4.22
6. ESP32 系列芯片支持 MIPI 接口吗?
ESP32、ESP32S2 和 ESP32S3 均不支持,后续的芯片会支持。
当前 ESP32 系列的芯片支持的摄像头接口有 DVP、SPI、USB。
更新时间:2022.4.22
7. ESP32 系列芯片支持 USB2.0 接口吗?
ESP32 和 ESP32S2 均不支持,后续的芯片会支持。
更新时间:2022.4.22
8. 摄像头中 YUV/RGB 的传输速度为何会比 JPEG 慢?
因为 YUV/RGB 数据量比 JPEG 的数据量大。
例如:320 × 240 的屏幕, YUV422 输出要 153.6K, 而 JPEG 压缩后大约 10 K。
更新时间:2022.4.22
9. 摄像头应用中影响帧率的因素?
帧率是指两张图片间刷新的速度,其影响因素主要为:
摄像头性能及参数配置而产生的图像大小(输出图像分辨率大小、输出图像格式)。
CPU 处理速度(接收图像处理、图像转码速度、图传到网络或显示屏的速度)。
更新时间:2022.4.22
10. 摄像头运行失败如何排查?
无法识别摄像头型号:
检查管脚是否对应正确,重点关注 XCLK、SIOC、SIOD。
XCLK 输入的时钟频率太低或摄像头供电不正常,导致摄像头无法正常运行。
SIOC 和 SIOD 上挂载太多设备,导致轮询读到率先返回的地址 ID 不是摄像头而是其他设备。此情况建议固定摄像头 ID,以去除轮询步骤。
摄像头识别到了型号,没有图像显示:
检查摄像头数据管脚是否有信号,MCLK 是否正常输入。
摄像头寄存器参数配置正确。
摄像头图像显示不正常:
检查代码,查看输出格式是 RGB、YUV 还是 JPEG,是否符合接收端需要的格式。
尝试降低 PCLK 频率。
更新时间:2022.4.22
11. ESP32 支持传输视频流吗?
视频流的传输操作分为二进制传输和视频流编解码。
二进制传输:ESP32 可以做二进制传输,此处只取决于传输的网络带宽,目前 ESP32 TCP 的带宽为 20 MB/s,请参考 WiFI 测试数据。
视频流编解码:目前视频流主要格式有 H264、H265、MJPEG 等,ESP32 暂无视频流编解码操作的能力。
更新时间:2022.4.22
12. ESP-EYE 的出厂固件在哪里?
请参考 ESP-EYE 的出厂固件。
更新时间:2022.4.22
13. Camera 方案相关的示例在哪里?
请参考 ESP-WHO。
请参考 esp-dev-kits。
更新时间:2022.4.22