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



    • import sensor, image, time, math
      
      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE)
      sensor.set_framesize(sensor.VGA) # High Res!
      sensor.set_windowing((640, 80)) # V Res of 80 == less work (40 for 2X the speed).
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(False)  # 必须关闭此功能,以防止图像冲洗…
      sensor.set_auto_whitebal(False)  # 必须关闭此功能,以防止图像冲洗…
      clock = time.clock()
      
      # 条形码检测可以在OpenMV Cam的OV7725相机模块的640x480分辨率下运行。
      # 条码检测也将在RGB565模式下工作,但分辨率较低。 也就是说,
      # 条形码检测需要更高的分辨率才能正常工作,因此应始终以640x480的灰度运行。
      
      def barcode_name(code):
          if(code.type() == image.EAN2):
              return "EAN2"
          if(code.type() == image.EAN5):
              return "EAN5"
          if(code.type() == image.EAN8):
              return "EAN8"
          if(code.type() == image.UPCE):
              return "UPCE"
          if(code.type() == image.ISBN10):
              return "ISBN10"
          if(code.type() == image.UPCA):
              return "UPCA"
          if(code.type() == image.EAN13):
              return "EAN13"
          if(code.type() == image.ISBN13):
              return "ISBN13"
          if(code.type() == image.I25):
              return "I25"
          if(code.type() == image.DATABAR):
              return "DATABAR"
          if(code.type() == image.DATABAR_EXP):
              return "DATABAR_EXP"
          if(code.type() == image.CODABAR):
              return "CODABAR"
          if(code.type() == image.CODE39):
              return "CODE39"
          if(code.type() == image.PDF417):
              return "PDF417"
          if(code.type() == image.CODE93):
              return "CODE93"
          if(code.type() == image.CODE128):
              return "CODE128"
      
      while(True):
          clock.tick()
          img = sensor.snapshot()
          codes = img.find_barcodes()
          for code in codes:
              img.draw_rectangle(code.rect())
              print_args = (barcode_name(code), code.payload(), (180 * code.rotation()) / math.pi, code.quality(), clock.fps())
              print("Barcode %s, Payload \"%s\", rotation %f (degrees), quality %d, FPS %f" % print_args)
          if not codes:
              print("FPS %f" % clock.fps())
      


    • 估计是没有对焦。

      0_1609842012176_barcode.jpg