SOLVED 树莓派V4L2驱动下的帧率问题
-
你好,我在树莓派下使用V4L2驱动可以正确获取图像。但想设置帧率上出现的问题。我希望希望设置相机的帧率为15FPS,曝光时间为1/15秒。那么通过I2C工具设置参数mshutter的值为0x4b,对应的曝光时间应该为1/15秒。但是通过测试,获取帧的时间还是在33-40毫秒左右。参数lowlight尝试设置0x00或者0x01没有改善。
请问是哪里还需要设置吗?
谢谢 -
@max
你好,
这个问题的确存在,实际上的帧率是15fps,但是会上传到上位机30fps。其中一半是重复帧。
这个是由于硬件的输出时序的限制,所以采用低照度模式的时候,树莓派端的软件,建议丢掉重复的帧。 -
你好,请问如何丢掉重复帧?
是设置nodf参数吗? -
@max
你好,我说的丢重复帧是指的您的软件获取图像之后丢掉。 nodf理论上可以,但是要特殊的情况才行,比如摄像头是配置为4b的情况,nodf隔一个丢一个。 -
尝试以下参数:
lowlight : 0x00 -> 固定帧率30FPS
mshutter: 0x4b -> 曝光时间1/15 秒
nodf: 0x01 -> 丢掉1帧
hdver: 0x03结果:无法获取图像。
如果把nodf设置为0,就正常获取图像,然而帧率不是15FPS -
@max
可能是v4l2driver模式的问题,说实话这个方法我们并没有测试过。 理论上用veye_raspicam模式应该是没问题的。 -
@veye_xumm 好的,只能软件丢掉一帧了。
另外,请问mshutter参数与lowlight参数的关系是如何的?
例如,mshutter设置我0x4b,曝光时间是1/15秒。当lowlight分别是0x00(Fixed frame rate (25/30))与0x01(1/2*(FRAME RATE))时,实际的曝光时间与通过V4L2驱动获取的帧率分别是多少? -
@max
lowlight只有在自动曝光模式下生效。你一旦设置mshutter为手动,lowlight就不生效了。