OpenMV 速度不够怎么办?CanMV cv_lite库来了!

Viewed 68

问题描述


还在为 OpenMV 图像处理时的卡顿掉帧抓狂?专为 K230 量身打造的 CanMV cv_lite 库来救场,目前已经封装实现部分常用函数!
基于向量加速版本opencv封装定制任务的调用接口,实现任务加速,复杂视觉任务从 "卡成 PPT" 到 "丝滑实时流",一个库直接带你体验起飞般的流畅感!

使用cv_lite库效果图(find_edges)
image.png

使用OpenMV库效果图(find_edges)
image.png

一、性能对比

下面通过对比 cv_lite 库与 OpenMV 库的几个核心算子,带大家直观感受 cv_lite 带来的性能飞跃:
注意:cv_lite 函数和 OpenMV 函数接口不一样,详见 demo

测试环境

  • 开发板:K230 开发板
  • 系统环境:K230 CanMV 固件
  • 操作系统:RTOS
  • 输入图像:1280x720
  • 注意:由于 OpenMV 支持格式问题,彩色图 OpenCV 使用RGB888,OpenMV 使用 RGB565
算子 cv_lite OpenMV
find_blobs(灰度图) 3ms 14ms
find_blobs(彩色图) 9ms 17ms
find_rectangles(灰度图) 22ms 175ms
find_rectangles(彩色图) 25ms 70ms
find_circles(灰度图) 69ms 450ms
find_circles(彩色图) 96ms 920ms
find_edges(彩色图) 13ms 88ms

当前测试数据是函数的运行时间,实际运行效果将随摄像头输入帧率、分辨率参数配置及具体视觉任务复杂度动态变化,建议根据应用场景灵活调优以获得最佳性能体验。

二、运行cv_lite demo

1、固件 获取路径(请更新7.21日以后的 Daily build 固件)
https://kendryte-download.canaan-creative.com/developer/releases/canmv_k230_micropython/daily_build/
根据自己开发板的型号下载 IMG

2、demo 路径
\CanMV\sdcard\examples\23-CV_Lite
在 CanMV 中打开 demo,并连接运行
image.png
可以看到运行的fps和结果。

3、cv_lite API文档:
https://www.kendryte.com/k230_canmv/zh/main/zh/api/cv_lite/cv_lite.html

三、如何使用

1、导入模块

import cv_lite

2、对图像初始化,并使用相应算子

# 调用 cv_lite 扩展进行色块检测,返回 [x, y, w, h, ...] 列表
 blobs = cv_lite.rgb888_find_blobs(image_shape, img_np, threshold, min_area, kernel_size)

3、更多示例请参考 demo

4、比对 OpenMV,新增白平衡和曝光调整函数,让你的图像更出彩

image.png

别让速度瓶颈限制创意!现在就上手 CanMV cv_lite 库,用 K230 的强劲算力 + OpenMV 的易用生态,让你的视觉项目从 “能跑” 到 “快跑”,轻松解锁嵌入式机器视觉新可能,开发快人一步!

1 Answers