video_feature_extractor1
在复现video-extractor中,我需要的是一个统一尺寸的特征图,但是它的输出大小不一样。后来整了很长时间,一直以为是sampler中存在的问题,改了很多,一点用没有,最后发现是video-loader中存在的问题。
1、之前提取的特征尺寸老是不一样,特征shape和视频长短相关。经过仔细阅读源码,发现是是ffmpeg中关于提取视频帧设置有一定的问题。
在videoLoader中ffmpeg默认参数抽取频率为1fps
为了将不同长度的视频提取相同数目的帧,将提取视频的帧率保存到input.csv中
将每段视频的视频地址 ,保存特征地址、帧率
video-path,feature-path,framerate
import csv
import os
import numpy as np
import cv2
video_path = "../cnn-lstm-master/data/video_data/WritingOnBoard/"
# n = [["/home/t123/projects/cnn-lstm-master/data/video_data/WritingOnBoard/v_WritingOnBoard_g25_c07.avi", "/home/t123/projects/video_feature_extractor-master/tools/A.npy"]]
b = ["video_path", "feature_path", "framerate"]
feature_path = "../video_feature_extractor-master/tools/feature1/"
n1 = []
videos = os.listdir(video_path)
for v in videos:
v_path = os.path.join(video_path, v)
# print(v[:-4])
f_path = os.path.join(feature_path, v[:-4]+".npy")
try:
cap = cv2.VideoCapture(v_path)
fps = int(round(cap.get(cv2.CAP_PROP_FPS)))
except:
print('Can not open %s.' % video_path)
pass
frames =