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



    • import sensor, image, pyb,time
      import machine
      import stm
      from pyb import ExtInt,Pin,RTC

      RED_LED_PIN = 1
      BLUE_LED_PIN = 3

      #摄像头初始化
      sensor.reset() # Initialize the camera sensor.
      sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.GRAYSCALE
      sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
      sensor.skip_frames(time = 2000) # Let new settings take affect.
      clock = time.clock()
      sensor.ioctl(sensor.IOCTL_SET_TRIGGERED_MODE, True)
      PictureNum=0
      key_node = 0 #按键标志位
      rtc=RTC()
      #extra_fb = sensor.alloc_extra_fb(sensor.width(), sensor.height(), sensor.GRAYSCALE)
      ##############################################

      按键和其回调函数

      ##############################################
      def key(ext):
      global key_node
      key_node = 1

      ext = ExtInt(Pin('P3'), ExtInt.IRQ_FALLING, Pin.PULL_UP, key) #下降沿触发,打开上拉电阻

      while True:

      if key_node==1: #按键被按下
          PictureNum+=1
      
          sensor.snapshot().save(str(PictureNum)+".jpg",quality=50)
          print("camera:%d"%PictureNum)
          key_node = 0 #清空按键标志位


    • 等我出差结束回去测试一下。



    • 不知道问题解决没有。内存Class10的,应该640*480的图片,保存速度不应该这么慢吧。100M的读存速度。



    • @l3sx 请问外部触发用的按钮是什么样子的,我也想买一个



    • @mesi 普通的按键,加个上拉电阻就可以,我是直接用的函数发生器做的触发。



    • @kidswong999 论坛大大回来了没,帮忙测试一下。这个openmv发送的那个framebuffer上传到IDE中为什么可以快很多,而使用SD卡就不可以,感觉采集不到那么多帧。IDE的帧缓冲区的录制也只能录制33帧的,我想采集120帧的图像也没办法使用录制视频再提取的方式。



    • 我测试不采集,只保存到SD卡,QQVGA最多是60几帧。

      这个是和SDIO接口速度有关系。



    • @kidswong999 谢谢大大测试,我自己没试出来,能不能分享一下测试代码。60帧也可以使用



    • import sensor, image, time
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QQVGA)
      sensor.skip_frames(time = 2000)
      
      clock = time.clock()
      img = sensor.snapshot()
      
      while(True):
          clock.tick()
          img.save("test.jpeg")
          print(clock.fps())