摄像头应用

[English]


1. 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 的出厂固件在哪里?

更新时间:2022.4.22


13. Camera 方案相关的示例在哪里?

更新时间:2022.4.22