• OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 二维码识别里面的内容



    • 如果我要识别多个二维码,其中一半二维码内容是“A”,另一半是“B”,这些二维码放在传送带上,摄像头固定。当识别到是“A”时,我要通过串口发送“XGQ”,当识别到是“B”时,我要通过串口发送“XBQ”,当识别到其他时,发送“NOT”,其中我想要每次识别一个二维码就只发送一次数据,然后隔一秒后再识别二维码。请问,这样可以吗?

      # 二维码例程
      #
      # 这个例子展示了OpenMV Cam使用镜头校正来检测QR码的功能(请参阅qrcodes_with_lens_corr.py脚本以获得更高的性能)。
      import sensor, image, time
      
      from pyb import UART
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(False)  # 必须关闭此功能,以防止图像冲洗…
      clock = time.clock()
      
      uart = UART(3, 19200)
      while(True):
          clock.tick()
          img = sensor.snapshot()
          img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。
          for code in img.find_qrcodes():
              img.draw_rectangle(code.rect(), color = (255, 0, 0))
              message=code.payload()
              print(message)
              if message=='A'
      
              uart.write("XGQ\r")
              else if message=='B'
              uart.write("XBQ\r")
              else
              uart.write("NOT\r")
              time.sleep_ms(1000)
      
      


    • 你的代码逻辑没啥问题,就是缩进错了。



    • 请问是哪个地方错了



    • 是这样吗

              if message=='A'
               uart.write("XGQ\r")
                else if message=='B'
                 uart.write("XBQ\r")
              else
               uart.write("NOT\r")
               time.sleep_ms(1000)
      


    • # 二维码例程
      #
      # 这个例子展示了OpenMV Cam使用镜头校正来检测QR码的功能(请参阅qrcodes_with_lens_corr.py脚本以获得更高的性能)。
      import sensor, image, time
      
      from pyb import UART
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(False)  # 必须关闭此功能,以防止图像冲洗…
      clock = time.clock()
      
      uart = UART(3, 19200)
      while(True):
          clock.tick()
          img = sensor.snapshot()
          img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。
          for code in img.find_qrcodes():
              img.draw_rectangle(code.rect(), color = (255, 0, 0))
              message=code.payload()
              print(message)
              if message=='A':
                  uart.write("XGQ\r")
              elif message=='B':
                  uart.write("XBQ\r")
              else:
                  uart.write("NOT\r")
              time.sleep_ms(1000)