制作数据集时,需要将视频转存成图片,可以使用python或者matlab实现。
一 、python的转换小代码:
# -*- encoding: utf-8 -*-
import cv2
import os
images = 'G:/Images_PATH/'
if not os.path.exists(images):
os.mkdir(images)
cap = cv2.VideoCapture("G:/Videos_PATH/1.mp4")
c = 0
# 可以按照指定帧间隔保存图片
time = 10
while (1):
success, frame = cap.read()
if success:
if(c%time ==0):
cv2.imwrite(images + str(c) + '.jpg', frame)
c = c + 1
print('image:',c)
else:
break
cap.release()
二 、matlab的转换小代码:
function getPictureFromMp4(video_file,pictureDir)
video=VideoReader(video_file);
frame_number=floor(video.Duration * video.FrameRate);
for i=1:frame_number
%每100帧存储一张图片
if rem(i,100)==0
image_name=strcat('11',num2str(i));
image_name=strcat(image_name,'.jpg');
I=read(video,i);
imwrite(I,[pictureDir,'/',image_name],'jpg');
I=[];
end
end
end
使用使用matlab的函数来实现,三个参数分别是视频路径,步长(每隔多少帧存储一张图片)和图片存储地址。但是,matlab在使用时要注意,脚本名称和函数名称一定要相同!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99870.html