使用巴斯勒相机和Python时,保存视频而不是保存图像

2024-05-19 03:02:53 发布

您现在位置:Python中文网/ 问答频道 /正文

用Python和巴斯勒的摄像机记录。我可以成功地捕捉到单个帧,但我不知道如何录制视频。在

以下是我的代码:

import os
import pypylon
from imageio import imwrite
import time
start=time.time()

print('Sampling rate (Hz):')
fsamp = input()
fsamp = float(fsamp)

time_exposure = 1000000*(1/fsamp)

available_cameras = pypylon.factory.find_devices()
cam = pypylon.factory.create_device(available_cameras[0])
cam.open()

#cam.properties['AcquisitionFrameRateEnable'] = True
#cam.properties['AcquisitionFrameRate'] = 1000
cam.properties['ExposureTime'] = time_exposure

buffer = tuple(cam.grab_images(2000))
for count, image in enumerate(buffer):
    filename = str('I:/Example/{}.png'.format(count))
    imwrite(filename, image)
del buffer

Tags: imageimporttimefactorybuffercountpropertiesfilename
1条回答
网友
1楼 · 发布于 2024-05-19 03:02:53

我还没有找到用pypylon录制视频的方法;它似乎是一个非常轻巧的包装。但是,我找到了一种使用imageio保存视频的方法:

from imageio import get_writer
with get_writer('I:/output-filename.mp4', fps=fps) as writer:
    # Some stuff with the frames

只要FFmpeg程序可用,上述内容可以与.mov.avi.mpg.mpeg.mp4.mkv或{},只要FFmpeg程序可用。如何安装此程序取决于您的操作系统。{请参阅^链接。在

然后,只需将对imwrite的调用替换为:

^{pr2}$

确保这发生在with块中。在

示例实现:

^{3}$

相关问题 更多 >

    热门问题