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



    • 报错为: 错误:不支持 / 的操作数类型:'int' 和 'NoneType'
      请问有相关操作指导没
      还是说目前不能用openmv4 plus来训练动作识别模型

      # 录制移动物体动图
      #
      # 注意:您将需要SD卡来运行此示例。
      #
      # 您可以使用OpenMV Cam来录制gif文件。可以用于RGB565图或灰度图。
      # 使用像GIMP这样的照片编辑软件在将GIF上传到网络之前对其进行压缩和优化。
      #
      # 此示例演示如何使用OpenMV的帧差异来进行运动检测。检测到运动后,
      # 您的OpenMV摄像机将拍摄视频。
      
      import sensor, image, time, gif, pyb, os
      
      RED_LED_PIN = 1
      BLUE_LED_PIN = 3
      
      sensor.reset() # 初始化sensor
      
      sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
      #设置图像色彩格式,有RGB565色彩图和GRAYSCALE灰度图两种
      
      sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
      #设置图像像素大小
      
      sensor.skip_frames(time = 2000) # 让新的设置生效
      sensor.set_auto_whitebal(False) # 关闭白平衡
      
      if not "temp" in os.listdir(): os.mkdir("temp") # 新建一个新的文件夹
      
      while(True):
      
          pyb.LED(RED_LED_PIN).on()
          print("About to save background image...")
          sensor.skip_frames(time = 2000) # 给用户一个时间来准备
      
          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
      
          g = gif.Gif("example-%d.gif" % pyb.rng(), loop=True)
      
          clock = time.clock() # 跟踪FPS帧率
          print("You're on camera!")
          for i in range(100):
              clock.tick()
              # clock.avg()返回帧与帧之间的毫秒数,其中包含gif延迟
              g.add_frame(sensor.snapshot(), delay=int(clock.avg()/10)) # centiseconds.
              print(clock.fps())
      
          g.close()
          pyb.LED(BLUE_LED_PIN).off()
          print("Restarting...")
      
      


    • 什么意思?没看懂。

      你代码是做什么的?和edge impulse有什么关系?



    • 就是我想用edge impulse训练一个动作,用代码来录制gif,把gif转换为png后上传到edge impulse,但是在训练的时候会报错
      报错内容为 错误:不支持 / 的操作数类型:'int' 和 'NoneType'



    • 你应该用IDE采集jpg,然后上传jpg。edge impulse只是训练分类器。



    • “我想用edge impulse训练一个动作”,也是训练jpg图片。