使用全局快门模组,外部触发采集图像并保存,无法实现10帧以上的保存速度,有没有什么更快地保存方式。
-
import sensor, image, pyb,time
import machine
import stm
from pyb import ExtInt,Pin,RTCRED_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 = 1ext = 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())