• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 希望读取以保存在sd卡中的mjpg格式视频到IDE屏幕上显示,但是一直显示找不到文件,改如何解决?



    • # Image Memory Stream I/O Example
      #
      # 本例程演示如何使用ImageIO流在内存中记录帧并进行回放。
      # 注意:虽然这在任何板上都可以使用,但是板上应该有一个SDRAM可以使用。
      import sensor, image, time
      
      # 要预分配和记录的帧数
      N_FRAMES = 500
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      
      # 该帧大小必须与传递给ImageIO的图像大小匹配
      sensor.set_windowing((120, 120))
      sensor.skip_frames(time = 2000)
      
      clock = time.clock()
      # 打开MJPEG格式的视频文件并创建 ImageIO 对象
      video = image.ImageIO("xunxian6.1.mjpeg", "r")
      stream = image.ImageIO((120, 120, 2), video.get_frame_count())
      
      # 将视频中的每个帧写入图像流对象
      for i in range(0, video.get_frame_count()):
          # 读取视频中的下一帧并将其转换为OpenMV图像对象
          img = video.next_frame(copy_to_fb=True)
      
          # 将图像写入图像流对象
          stream.write(img)
      
      # 回放流并以100FPS播放
      stream.seek(0)
      for i in range(0, stream.get_length()):
          img = stream.read(copy_to_fb=True)
          # 在此处对图像执行机器视觉算法
          time.sleep_ms(10)
      
      

      这是装在openmv上的sd卡内容,在电脑运行在video = image.ImageIO("xunxian6.1.mjpeg", "r")那行OSError: Unexpected value read!错误,麻烦帮忙看看如何解决
      0_1685625349386_a7dbb9c5-371f-48fe-ba84-282b0b5c2fcd-image.png

      然后尝试将文件电脑文件夹中运行也是相同的错误
      于是向用读取二进制视频的代码录取视频再读取

      # 读取二进制视频示例
      #
      # 此示例需要使用uSD内存卡
      #
      # 本示例说明如何使用“图像读取器Image Reader”对象重放由“图像写入器Image Writer”对象保存的OpenMV所看到的图像以测试机器视觉算法。
      
      # 更改为允许从SD卡全速读取,以将序列提取到网络等。
      # 将新的暂停参数设置为false
      
      import sensor, image, time
      
      snapshot_source = False # 一旦完成从传感器提取数据,将其设置为true。
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QQVGA)
      sensor.skip_frames(time = 2000)
      clock = time.clock()
      
      stream = None
      if snapshot_source == False:
          stream = image.ImageIO("/stream.bin", "r")
      
      while(True):
          clock.tick()
          if snapshot_source:
              img = sensor.snapshot() 
          else:
              img = stream.read(copy_to_fb=True, loop=True, pause=True)
          # 在此处对图像执行机器视觉算法。
          print(clock.fps())
      
      

      但是显示AttributeError: 'module' object has no attribute 'ImageReader',我的openmv是MV4 PLUS H7版本,固件也是最新的,不知道为什么会显示这种错误,请帮忙指出问题所在和解决方法