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



    • # QRCode Example
      #
      # This example shows the power of the OpenMV Cam to detect QR Codes
      # without needing lens correction.
      
      import sensor, image, time
      
      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE)
      sensor.set_framesize(sensor.VGA)
      sensor.set_windowing((240, 240)) # look at center 240x240 pixels of the VGA resolution.
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(False) # must turn this off to prevent image washout...
      clock = time.clock()
      
      while(True):
          clock.tick()
          img = sensor.snapshot()
          for code in img.find_qrcodes():
              m=code.payload()
          break
      s=list(m)
      print(s)
      


    • 请提供报错提示截图以及现象



    • 0_1538273672457_TIM图片20180930101424.png



    • 你的程序逻辑有问题。
      没有检测到二维码的时候,m就不会被赋值。



    • 那我想要调用扫面出来的二维码信息应该怎么写?就是跳出while 循环使用数据



    • 程序应该永远都在死循环里。

      while(True):
          img = sensor.snapshot()
          for code in img.find_qrcodes():
              m=code.payload()
              print(m)
      


    • 但是我只想让它扫描出一次数据就可以了,不需要无限循环,该怎么做呢



    • 不会有这种需求的。难道一个设备只能开机运行一次,就要手动重启?



    • 是这样的,我想用扫描出的二维码信息来执行后面的程序,如果一直在while循环里面就执行不了后面的程序了



    • 你的逻辑是有问题的

      while(True):
          img = sensor.snapshot()
          codes = img.find_qrcodes()
          if codes:#如果找到了二维码
              for code in codes:#你的图像里可能有好几个二维码
                  m=code.payload()#每一个二维码的数据
                  print(m)
              #如果找到了二维码就在这里处理
          else:
              print('not found')
              如果找不到就在这里写