Gadget: Video in Bilddaten umwandeln
import cv2
def extract_frames_from_video(video_path, output_dir):
# 打开视频文件
video = cv2.VideoCapture(video_path)
# 确保视频文件已成功打开
if not video.isOpened():
print("无法打开视频文件")
return
# 获取视频帧率和总帧数
fps = video.get(cv2.CAP_PROP_FPS)
total_frames = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
# 逐帧提取图像
frame_count = 0
while True:
# 读取视频帧
success, frame = video.read()
if not success:
break
# 生成输出图像文件路径
output_path = f"{
output_dir}/frame_{
frame_count:05d}.jpg"
# 保存图像文件
print("save img info: ",output_path)
cv2.imwrite(output_path, frame)
frame_count += 1
# 关闭视频文件
video.release()
# 示例用法
def main():
video_path = "/home/sun/data1/video/20231110-105357.mp4" # 输入视频文件路径
output_directory = "/home/sun/data1/video/split" # 输出图像集合存储目录
# 调用函数提取视频帧并保存为图像文件
extract_frames_from_video(video_path, output_directory)
if __name__ == "__main__":
main()