v3.6.4¶
v3.6.4 新增了 RTSP 视频服务器库,全面修复了 OV5640 的成像模式(在所有分辨率下的 Grayscale / RGB565 / Bayer / JPEG),通过优化驱动使传感器 FPS 翻倍,并修复了一批 Bayer / JPEG 编码 bug。Bayer 图像上的 image.get_pixel() 和传感器自动旋转发生了变化——请阅读下方的破坏性变更。
重点内容¶
RTSP——全新的 RTSP 视频服务器库,附带示例。
OV5640——Grayscale / RGB565 / Bayer / JPEG 现在在所有分辨率下均可工作,支持更大的最大 JPEG 传输和翻倍的高分辨率读出。
FPS 翻倍——传感器驱动经过优化,帧率提升约 2 倍。
修复——Bayer 边缘/垂直翻转、软件 JPEG(1-bpp 和 YCbCr 灰度),以及缓冲区溢出问题。
破坏性变更:
image.get_pixel()现在对 Bayer 图像进行去拜耳处理,且自动旋转现在会在sensor.reset()时重新应用——参见破坏性变更。
新功能¶
RTSP——新增
rtsp库和rtsp_video_server.py示例,用于 RTSP 视频流。
其他变更与改进¶
优化了传感器驱动使帧率大约翻倍,使 OV5640 在 Bayer/Grayscale/JPEG 下的高分辨率读出翻倍,增大了最大 JPEG 图像传输尺寸,并更新了
cascade_convert.py以兼容 Python 3。
Bug 修复¶
摄像头与成像:
修复了 OV5640 成像模式,使 Grayscale / RGB565 / Bayer / JPEG 在所有分辨率下都能正确工作,修复了 OV7725 / OV7690 上的 Bayer 垂直翻转、右边缘 Bayer 转换错误、1-bpp 图像和 YCbCr 灰度的软件 JPEG 编码(−128 减法)、JPEG 图像上的尾随数据,以及缓冲区溢出问题。
破坏性 API 变更¶
v3.6.3 与 v3.6.4 之间面向用户的 API 破坏性变更。范围:modules/ 中的 Python C 模块和 scripts/libraries/ 中的 Python 库。
两项破坏性变更都是 behavior 变更(相同 API,不同结果)——请重新检查受影响的脚本。每个提交哈希都链接到其在 GitHub 上的 diff。
image.get_pixel() 对 Bayer 图像进行去拜耳处理 (behavior)¶
对 Bayer 格式图像调用 image.get_pixel() 现在会进行去拜耳处理并返回 (r, g, b) 元组,而非原始的单通道 Bayer 值。通过 get_pixel() 读取原始 Bayer 值的脚本现在将收到插值后的 RGB 元组,必须进行更新。
提交: bf16b6a4f
自动旋转在 sensor.reset() 时重新应用 (behavior)¶
传感器自动旋转现在会在 sensor.reset() 时(重新)触发。在配置朝向后调用 sensor.reset()、并期望旋转状态保持不变或不重新应用的脚本,可能会看到不同的朝向,应当重新检查。
提交: 0d13a214b
迁移检查清单¶
更新通过 image.get_pixel() 读取原始 Bayer 值的代码,使其预期一个 (r, g, b) 元组(get_pixel 变更),并重新检查 sensor.reset() 前后的传感器朝向(自动旋转变更)。所有其他脚本无需更改即可运行。