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



    • 目的:设定右半边图像为感兴趣区域,进行颜色识别,判断是否存在与阈值匹配的像素点
      问题:采图范围无目标时无事发生,一旦采图范围内进入了与阈值匹配的物体,IDE就会立马报错,如图0_1685613110711_微信截图_20230601175142.png

      import sensor, image, time, network, usocket, sys, math, pyb
      
      C_thresholds =[(12, 41, 44, 23, 34, -11)]   #C线识别的阈值
      #T_thresholds =[(16, 54, -10, 28, -29, 2)]   #T线识别的阈值
      
      
      sensor.reset()                          #相机初始化
      #sensor.set_contrast(1)                 #设置相机图像对比度(-3,+3)
      #sensor.set_brightness(1)               #设置相机图像亮度(-3,+3)
      #sensor.set_saturation(1)               #设置相机图像饱和度(-3,+3)
      #sensor.set_gainceiling(16)             #设置相机图像增益上限(2、4、8、16、32、64、128)
      sensor.set_pixformat(sensor.RGB565)     #设置彩色模式
      sensor.set_framesize(sensor.VGA)         #设置相机分辨率
      sensor.skip_frames(time = 2000)         #延时2s
      sensor.set_auto_gain(False)             #关闭相机自动增益
      sensor.set_auto_whitebal(False)         #关闭相机自动白平衡
      
      right_roi= [320,0,320,480]
      left_roi = [0,0,320,480]
      
      while(True):
          img = sensor.snapshot()
          for blob in img.find_blobs(C_thresholds, roi=right_roi, x_stride=2, y_stride=1,
           invert=False, area_threshold=4, pixels_threshold=4, merge=True, margin=1, threshold_cb=None, merge_cb=None):
              if blob.pixels() > 10:
                  print("试纸检测成功!")
                  img.draw_edges(blob.min_corners(), color=(255,0,0))
                  img.draw_line(blob.major_axis_line(), color=(0,255,0))
                  img.draw_line(blob.minor_axis_line(), color=(0,0,255))
              #img.draw_rectangle(blob.rect())
              #img.draw_cross(blob.cx(), blob.cy())
              #img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)
              else:
                  print("未检测到试纸!")
      


    • for blob in img.find_blobs(C_thresholds, roi=right_roi, x_stride=2, y_stride=1,
           invert=False, area_threshold=4, pixels_threshold=4, merge=True, margin=1, threshold_cb=None, merge_cb=None):
      

      改为

      for blob in img.find_blobs(C_thresholds, roi=right_roi, x_stride=2, y_stride=1,
           invert=False, area_threshold=4, pixels_threshold=4, merge=True, margin=1):