openmv通过software增强目标追踪效果的几个小方法,测试平台为openmv IDE,硬件为openmv MV4 H7


openmv通过software增强目标追踪效果的小方法

  • 前言
  • 一、多个阈值对应一个物体
  • 二、寻找最大物体
  • 三、设置限定参数
  • 总结



前言

本篇介绍了几种提高openmv追踪物体效果的小方法,视觉处理易受光源和环境干扰,下类方法均是通过软件的方法进行优化,提高你在使用时的效果,正所谓硬件不够?软件来凑!(当然硬件补光和和优化无疑是最好的办法,如果条件有限就用软件来弥补吧),希望能对你有所帮助。


一、多个阈值对应一个物体

一般我们追踪目标都是通过颜色追踪,颜色追踪的效果是最好的,一般我们对于一个物体只会用一个元组设置一个阈值,但随着环境中光源的不经意改变,早上取的阈值到了晚上就用不了了,这种情况很多,不利于我们比赛和实际效果。
这时,我们可以通过设置多个颜色阈值来捕捉目标,通过在一个列表中设置多个颜色元组来适应不同情况

如下图所示:首先,将阈值类型设置为列表,在列表中放置我们不同的颜色阈值元组,使用时只用通过for循环调用列表,实现多个阈值对应一个物体,这样大大提高颜色识别效果,这是最简单实用的方法,效果会大大提高,建议每个时间段取一次阈值,以适应各种变化,注意的是这时颜色阈值要设置严格一些,防止出现噪点情况

opencv 在arm编译如何设置加速 opencv arm优化_python


opencv 在arm编译如何设置加速 opencv arm优化_计算机视觉_02


二、寻找最大物体

如果我们追踪的物体同一时间同一场景中只有一个,那我们可以通过设置如下函数找到最大的那一个,大大的减少误差和噪点

def find_max(blobs):
    max_size=0
    for blob in blobs:
        if blob.pixels() > max_size:
            max_blob = blob
            max_size = blob.pixels()
    return max_blob

声明完成后,使用时只用将图像赋值给find_max()函数中,再用一个任意标准位接收即可,这是图像就对应了这个标准位,这个图像就只会返回最大物体,其它函数功能和正常的一样,大大提高对一个物体的追踪效果

opencv 在arm编译如何设置加速 opencv arm优化_opencv 在arm编译如何设置加速_03


三、设置限定参数

通过设置目标区域的感性区域,最小像素点合并,像素点最大最小值等限制条件提高效果,例如下列中的roi,pixels_threshold, area_threshold,merge,等限制条件

opencv 在arm编译如何设置加速 opencv arm优化_图像识别_04


官网的一些资料手册

opencv 在arm编译如何设置加速 opencv arm优化_图像处理_05

opencv 在arm编译如何设置加速 opencv arm优化_python_06

opencv 在arm编译如何设置加速 opencv arm优化_图像识别_07


总结

还要很多方法这里就不一一写了,后面有时间再进行优化,不当之处,还望各位大佬多多包涵指正,也欢迎有兴趣的同伴和我讨论,如果有资料代码需要和问题,欢迎私聊和评论