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



    • # 拍摄移动物体
      #
      # 注意:您将需要SD卡来运行此示例。
      #
      # 此示例演示如何使用OpenMV的帧差异来进行运动检测。运动检测后,您的
      # OpenMV将拍摄照片。
      
      import sensor, image, pyb, os
      
      RED_LED_PIN = 1
      BLUE_LED_PIN = 3
      
      sensor.reset() # Initialize the camera sensor.
      sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
      sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
      sensor.skip_frames(time = 2000) # Let new settings take affect.
      sensor.set_auto_whitebal(False) # Turn off white balance.
      
      if not "temp" in os.listdir(): os.mkdir("temp") # Make a temp directory
      
      while(True):
      
          pyb.LED(RED_LED_PIN).on()
          print("About to save background image...")
          sensor.skip_frames(time = 2000) # Give the user time to get ready.
      
          pyb.LED(RED_LED_PIN).off()
          sensor.snapshot().save("temp/bg.bmp")
          print("Saved background image - Now detecting motion!")
          pyb.LED(BLUE_LED_PIN).on()
      
          diff = 10 # We'll say we detected motion after 10 frames of motion.
          while(diff):
              img = sensor.snapshot()
              img.difference("temp/bg.bmp")
              stats = img.statistics()
              # state[5]是照明颜色通道的最大值。当整个图像的最大光照高于20时
              # 触发下面的代码。
              # 照明差异最大值应该为零。
              if (stats[5] > 20):
                  diff -= 1
      
          pyb.LED(BLUE_LED_PIN).off()
          print("Movement detected! Saving image...")
          sensor.snapshot().save("temp/snapshot-%d.jpg" % pyb.rng()) # Save Pic.
      
      

      该代码为官网代码,侦测到移动物体后,openmv一直在拍照,即使在而后静止状态下也在不断拍照,且ide窗口显示不正常,如图所示:0_1586160031964_QQ截图20200405002150.png 这种情况如何解决?



    • 你的程序的背景是不更新的,也就是一直对比的是最开始的图片。

      看一下这个高级帧差分,对比的图片是会更新的。
      https://book.openmv.cc/example/04-Image-Filters/advanced-frame-differencing.html