我正在尝试将视频录制到Python-OpenCV中的文件中,我发现手动设置的帧率太不准确了,我在下面为C++找到了一个在线解决方案。
cam.get(CV_CAP_PROP_FPS)只要相机支持ioctl来提取此信息,这就应该获得相机的当前FPS。
我的设置是使用带有Pi NoIr摄像头模块的Raspberry Pi2,运行Python和PiCamera库来访问CSI摄像头,我的问题有两个:
Pi摄像头支持ioctl来获取fps吗?
如果是这样,我如何使用Python或picamera库来实现这一点?
发布于 2021-08-04 15:11:40
如果你没有在python中指定默认的帧率,那么它将被设置为30fps。有关默认帧速率,请参阅文档,picamera.camera模块。
对于更改帧速率,您可以执行以下操作:
camera.framerate=25要使此更改生效,摄像机不能处于录制状态。
但是为了得到真正的fps,如果你做了一些额外的处理,你应该做一个手工计算,比如
while True:
...
start_time = time.monotonic()
ret, frame = cap.read()
elapsed_sec = (time.monotonic() - start_time)
fps = 1/elapsed_sechttps://stackoverflow.com/questions/29766310
复制相似问题