Eu tenho um pequeno problema estranho aqui!
Eu tenho um vídeo em um arquivo. Eu quero extrair alguns quadros deste vídeo e fazer um vídeo com isso e, em seguida, usá-lo para exibir (Nota: eu não quero usar imshow () para isso). E eu quero fazer isso sem escrever isso em um arquivo.
Algorithm:
1. Read the video from file
2. extract the frames
3. make a video out of these frames(save it as a variable; do not write it into a file)
4. Use this variable which holds the new video for displaying
Qualquer sugestão seria de grande ajuda!
Respostas:
1 para resposta № 1Crie um cap = cv2.VideoCapture(file_name)
. Obtenha a largura e a altura do seu filme com
h = cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)
w = cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)
Crie um array numpy
frames = np.zeros((h, w, 3, number_of_frames), np.uint8)
e salve os quadros que você deseja manter nessa matriz:
error, frame = cap.read()
frames[:,:,:,i] = frame
Se você não sabe quantos quadros tem anteriormente, basta concatená-los em uma lista do Python.
Em seguida, exiba seus quadros.