Я использую реальную ситуацию с насилием из kaggle, которая является набором видео-данных о насилии, поэтому я преобразовал все видео в изображения, преобразуя каждое видео в 7 изображений, используя этот код:
import os
import cv2
def frame_capture(filepath,subdir):
# Opens the Video file
cap= cv2.VideoCapture(filepath)
# Make a directory to save in the frames in each folder you enter
path = subdir + "/data"
try:
if not os.path.exists('path'):
os.mkdir(path)
except OSError:
print ("Creation of the directory %s failed" % path)
else:
print ("Successfully created the directory %s " % path)
# define the name of the directory to be created
#Print the No. of frames In the video submited
video_length = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) - 1
print ("Number of frames: ", video_length)
sec = 0
# cv2.CAP_PROP_FPS = 2
# print("fps",cv2.CAP_PROP_FPS)
# cv2.CAP_PROP_FPS = 2
#FPS = 5
# cap.set(cv2.CAP_PROP_FPS,2)
#loop through the videos
i=0
frameRate = 0.5
while(cap.isOpened()):
cap.set(cv2.CAP_PROP_POS_MSEC,sec*1000)
ret, frame = cap.read()
print(ret)
#print ('Read a new frame: ', ret)
if ret == False:
break
#if sec == 3:
# break
# Saves image of the current frame in jpg format (in this path (path +'/'+ Path(filepath).resolve().stem))
name = path +'/'+ Path(filepath).resolve().stem +" _ "+ str(i) + " "+'.jpg'
i+=1
print ('Creating...' + name)
cv2.imwrite(name, frame)
if sec == 3 or sec > 3:
break
sec = sec + frameRate
cap.release()
cv2.destroyAllWindows()
здесь я звоню моя функция:
import os
from pathlib import Path
for subdir, dirs, files in os.walk(r"C:\Users\win10\Desktop\data_sets\folder\non violence\6th"):
for filename in files:
filepaath = subdir + os.sep + filename
if filepaath.endswith(".mp4"):
print(filepaath)
frame_capture(filepaath,subdir)
теперь у меня проблема после того, как я получу свои изображения, я добавил функции vgg16, что приводит к большому количеству нуля, и это означает, что у меня много отрицательных пикселей в моих изображениях, я хочу знаете, что означает наличие отрицательных пикселей, и что означают эти цифры express? и последнее, могу ли я использовать эти функции с множеством нулей в качестве набора данных для обучения моего LSTM?