2017-02-10 10 views
2

私はnumpy配列に変換したいビデオと同じフォルダにpythonスクリプトを持っています。私のビデオは「test.mp4」と呼ばれています。ビデオをnumpy配列に変換するにはどうすればよいですか?

私のスクリプトの中では、someFunction('test.mp4')に電話して、numpyの配列を取得したいと考えています。結果として得られるnumpy配列はnumpy配列のイメージでなければなりません。各イメージは3-d numpy配列です。

それは意味がありますか?

ありがとうございます!

+0

可能な複製(http://stackoverflow.com/questions/29718238/how-to -read-mp4-video-to-be-by-scikit-image) – JulienD

答えて

3

以下のスクリプトはあなたが望むことをします。その一部を関数に分けることができます。

以下のコードではエラーはチェックされません。特に、製造コードでは、変数frame*のすべてがゼロより大きいかどうかがチェックされます。

import cv2 
import numpy as np 

cap = cv2.VideoCapture('test.mp4') 
frameCount = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) 
frameWidth = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 
frameHeight = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 

buf = np.empty((frameCount, frameHeight, frameWidth, 3), np.dtype('uint8')) 

fc = 0 
ret = True 

while (fc < frameCount and ret): 
    ret, buf[fc] = cap.read() 
    fc += 1 

cap.release() 

cv2.namedWindow('frame 10') 
cv2.imshow('frame 10', buf[9]) 

cv2.waitKey(0) 
0

skvideoは、多次元配列にビデオとストアを読み込むために使用することができますpythonパッケージです。詳細については

import skvideo.io 
videodata = skvideo.io.vread("video_file_name") 
print(videodata.shape) 

:[?scikit-画像が処理するのMP4動画を読み取る方法]の https://wingateacademy.blogspot.in/2018/01/scikit-video-skvideo-tutorial.html

+0

numpy配列にするには? –

+0

ビデオデータはnumpy形式です。 その他の場合、 インポートnumpy as np - > temp = np.array(videodata) –

関連する問題