cv_lite介绍
在前面的图像处理案例中,都是基于openmv移植,大家可以发现部分案例速度并不是很快。
为此,CanMV K230官方针对某些特定的场景,提出了cv_lite的概念,针对某些特定任务在底层基于 OpenCV 实现的轻量图像处理模块,提供了一些常见任务的加速版本方法,作为 openmv 的 image模块中方法的补充。
速度对比
openmv处理RGB565的彩图,cv_lite处理RGB888的彩图,对处理效率进行对比,得到的帧率对比结果如下表所示,下述帧率仅在处理固定场景时进行对比,具体帧率会收到场景复杂程度限制,比如圆形的数量等的影响,请以具体场景测试为准。
| 任务 | 输入分辨率 | cv_lite处理帧率(fps) | openmv处理帧率(fps) |
|---|---|---|---|
| 灰度图find_blobs | 480x640 | 90 | 57 |
| 彩色图find_blobs | 480x640 | 80 | 44 |
| 灰度图find_circles | 480x640 | 24 | 1.2 |
| 彩色图find_circles | 480x640 | 24 | 1.2 |
| 灰度图find_rectangles | 480x640 | 40 | 8 |
| 彩色图find_rectangles | 480x640 | 38 | 4.6 |
| 灰度图find_edges | 480x640 | 57 | 11 |
| 彩色图find_edges | 480x640 | 53 | 仅支持灰度图 |
| 灰度图二值化 | 480x640 | 90 | 90 |
| 彩色图二值化 | 480x640 | 90 | 40 |
| 彩色图均值滤波 | 480x640 | 26 | 19 |
| 彩色图高斯滤波 | 480x640 | 12 | 4 |
除上述案例外,cv_lite还增加了使用软件处理实现对RGB888图像的形态学操作、白平衡、曝光调整和RGB888图像直方图统计的接口:
| 任务 | 输入分辨率 | cv_lite处理帧率(fps) |
|---|---|---|
| 腐蚀 | 480x640 | 90 |
| 膨胀 | 480x640 | 32 |
| 开运算 | 480x640 | 31 |
| 闭运算 | 480x640 | 32 |
| 形态学梯度 | 480x640 | 12 |
| 顶帽变换 | 480x640 | 12 |
| 黑帽变换 | 480x640 | 12 |
| 灰度世界白平衡 | 480x640 | 47 |
| 白色patch白平衡 | 480x640 | 22 |
| 曝光调整 | 480x640 | 65 |
| RGB888图像直方图统计 | 480x640 | 77 |
本章内容将对cv_lite一些常用案例讲解。更多示例代码和详细介绍请查看 嘉楠科技官方API文档>>