星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 如何在一段代码中实现图像灰度模式和rgb模式之间的转换?



    • 
      import sensor, image, time, pyb
      
      from pyb import UART#串口用5V电压亦可
      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE)#灰度图更快
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(False) # must turn this off to prevent image washout...
      uart = UART(3, 115200)
      uart.init(115200, bits=8, parity=None, stop=1) # init with given parameters
      while not uart.any():
          #uart.write("0000\r\n")
          img = sensor.snapshot()
          img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
          for code in img.find_qrcodes():
              img.draw_rectangle(code.rect(), color = (255, 0, 0))
              uart.write(code.payload())
              print(code.payload())
      
      
      red_threshold = (25, 82, 0, 64, 65, 6) # red_thresholds
      green_threshold  = (58, 33, -78, -16, 110, -71)# green_thresholds
      blue_threshold  = (28, 81, -52, 81, -29, -87)# blue_thresholds
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      sensor.set_auto_whitebal(False)#关闭自动白平衡
      sensor.set_auto_gain(False)#关闭自动增益
      
      clock = time.clock()
      
      while(True):
          clock.tick()
          img = sensor.snapshot().lens_corr(1.8)
          for blob in img.find_blobs([red_threshold], pixels_threshold=200, area_threshold=200):
              img.draw_rectangle(blob.rect())
              img.draw_cross(blob.cx(), blob.cy())
              print('r')
          for blob in img.find_blobs([green_threshold], pixels_threshold=200, area_threshold=200):
              img.draw_rectangle(blob.rect())
              img.draw_cross(blob.cx(), blob.cy())
              g=blob.cx()
              print('g')
          for blob in img.find_blobs([blue_threshold], pixels_threshold=200, area_threshold=200):
              img.draw_rectangle(blob.rect())
              img.draw_cross(blob.cx(), blob.cy())
              b=blob.cx()
              print('b')