欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 单双目视频转图片

单双目视频转图片

2024/10/24 3:25:44 来源:https://blog.csdn.net/weixin_45231460/article/details/139506614  浏览:    关键词:单双目视频转图片

视频转图片

视频转图片
输入文件夹路径,里面时mp4视频
输出的是每隔1秒提取到的视频帧
interval是每隔多少秒保存一张图片

import cv2
import osimg_count = 1def save_frames(video_path, output_folder, interval):# 创建保存图片的文件夹if not os.path.exists(output_folder):os.makedirs(output_folder)# 打开视频文件cap = cv2.VideoCapture(video_path)frame_count = 0global img_countwhile cap.isOpened():ret, frame = cap.read()# 判断是否成功读取帧if not ret:breakframe_count += 1# 每两秒保存一帧图片if frame_count % (interval * cap.get(cv2.CAP_PROP_FPS)) == 0:img_name = f"20240524_{img_count}.jpg"img_path = os.path.join(output_folder, img_name)cv2.imwrite(img_path, frame)print('file saved:', img_path)print(img_count)img_count += 1cap.release()# 设置输入文件夹和输出文件夹路径
input_folder = "path"
output_folder = "path"# 遍历文件夹中的所有.dav视频文件
for filename in os.listdir(input_folder):if filename.endswith(".dav"):video_path = os.path.join(input_folder, filename)save_frames(video_path, output_folder, 1)

双目视频,提取单目

输入文件夹路径,里面时mp4视频
输出的是每隔1秒提取到的视频帧
img_name是视频帧名字的命名格式,自动编号

import cv2
import osimg_count = 1def extract_left_eye_frame(video_path, output_folder):global img_count# 打开视频文件cap = cv2.VideoCapture(video_path)frame_rate = cap.get(cv2.CAP_PROP_FPS)frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))half_width = frame_width // 2# img_count = 1last_saved_time = 0.0while cap.isOpened():ret, frame = cap.read()if not ret:breakcurrent_time = cap.get(cv2.CAP_PROP_POS_MSEC) / 1000.0  # 当前帧的时间戳(秒)# 如果超过一秒钟才保存下一帧if current_time - last_saved_time >= 1.0: # 1.0# 提取左目图片left_eye_frame = frame[:, :half_width]# 提取右目图片# right_eye_frame = frame[:,half_width:]# 保存图片img_name = f"20240422xiaomi_{img_count}.jpg"img_path = os.path.join(output_folder, img_name)cv2.imwrite(img_path, left_eye_frame)print(f"Saved: {img_path}")img_count += 1last_saved_time = current_timecap.release()# 设置输入文件夹和输出文件夹路径
input_folder = "path"
output_folder = "path"# 确保输出文件夹存在
if not os.path.exists(output_folder):os.makedirs(output_folder)# 遍历文件夹中的所有.mp4视频文件
for filename in os.listdir(input_folder):if filename.endswith(".mp4"):print(f"Processing: {filename}")video_path = os.path.join(input_folder, filename)extract_left_eye_frame(video_path, output_folder)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com