• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 滤波中的腐蚀和膨胀一般在什么情况下应用?也就是说用来做什么呢?



    • # 腐蚀和膨胀的例子
      #
      # 这个例子展示了可以在二进制图像上运行的腐蚀和膨胀函数来消除噪声。
      # 这个例子最初是一个测试,但是它对于展示这些函数是如何工作的很有用。
      
      import pyb, sensor, image
      
      sensor.reset()
      sensor.set_framesize(sensor.QVGA)
      
      #设置阈值
      grayscale_thres = (170, 255)
      rgb565_thres = (70, 100, -128, 127, -128, 127)
      
      while(True):
      
          sensor.set_pixformat(sensor.GRAYSCALE)
          for i in range(20):
              img = sensor.snapshot()
              #先对图像进行分割,二值化,将在阈值内的区域变为白色,阈值外区域变为黑色
              img.binary([grayscale_thres])
              #对图像边缘进行侵蚀,侵蚀函数erode(size, threshold=Auto),size为
              #kernal的大小,去除边缘相邻处多余的点。threshold用来设置去除相邻点的个数,
              #threshold数值越大,被侵蚀掉的边缘点越多,边缘旁边白色杂点少;数值越小,
              #被侵蚀掉的边缘点越少,边缘旁边的白色杂点越多。
              img.erode(2)
          for i in range(20):
              img = sensor.snapshot()
              img.binary([grayscale_thres])
              img.dilate(2)
              #对图像边缘进行膨胀,膨胀函数image.dilate(size, threshold=Auto),size为
              #kernal的大小,使边缘膨胀。threshold用来设置去除相邻点的个数,threshold数值
              #越大,边缘越膨胀;
              #数值越小,边缘膨胀的小。        
      
          sensor.set_pixformat(sensor.RGB565)
          for i in range(20):
              img = sensor.snapshot()
              img.binary([rgb565_thres])
              img.erode(2)
          for i in range(20):
              img = sensor.snapshot()
              img.binary([rgb565_thres])
              img.dilate(2)
      


    • 服饰膨胀都是预处理,一般用于图像增强。本来不太清楚,处理之后清楚一些。