openmv光点识别坐标补偿

用openmv进行光点识别,当光斑变大时,可能有粉尘进行遮挡导致图像光斑为椭圆时,光斑那中心位置不精确,需要对坐标进行补偿,请问该如何补偿

有个问题,变为椭圆之后,椭圆的中心还是光斑的中心吗?如果是的话,找轮廓,然后外接矩形中心就是椭圆中心,这个比较好办。
但是如果变成椭圆之后不在中心就难搞了,这个补偿就得靠经验公式或者大量此类数据来计算出一个合适的补偿公式,而且公式还不一定准确,只能尽量减少误差,这个就是看你有这个数据没有。

  • 建议你看下这篇博客👉 :OpenMV4开发笔记1-感光元件初始化
  • 除此之外, 这篇博客: 基于openmv的色域识别(测距和测角度)中的 2、感光元件初始化 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 为什么会这样写呢?因为在慢慢去接触这个领域,就想养成一个好的习惯(尤其是在接触到神经网络之后),尝试去做一些可以泛化或者类似于算法的东西(当然用数学知识自我设计算法的能力打算去研究生培养)。

    def Sensor_Init():
        sensor.reset()                      #初始化感光元件      
        sensor.set_pixformat(sensor.RGB565) #设置色彩空间(sensor.GRAYSCALE: 灰度,每个像素8bit。)
        sensor.set_framesize(sensor.QQVGA)  #设置图像大小160*120(sensor.QQQVGA) 80*60
        sensor.set_auto_gain(False)         #在颜色追踪时,关闭自动增益
        sensor.set_auto_whitebal(False)     #在颜色追踪时,关闭白平衡
        sensor.skip_frames(time = 2000)     #跳过2000帧