私はちょうど私のプロジェクトをpythonでやっています。Pythonで多次元配列を追加するには?
動画全体の中で出現頻度の高い各ピクセルの値を考慮して、動画の背景を抽出します。このために、各フレームのピクセル値を前のフレーム値に追加したいと思います。
たとえば、私は合計フレーム400のビデオを持っています。フレームサイズは100X300です。各ループについて、現在のフレームの値を追加(連結)したいと思います。したがって、各ループ(ビデオでフレームを読み込む)の後、配列のサイズは、3番目の次元で1ずつ増加し、すべてのフレームを読み込んだ後、合計(100X300X400)の配列を持つ必要があります100行300列400奥行き!
次に、各ピクセルのヒストグラムを計算します。
本当にありがとうございます。
私はPycharmを使用してOpenCV 3.1とPython 2.7.12を使用しています。
import cv2
import numpy as np
c = cv2.VideoCapture('NonStop_stab.mp4')
width = c.get(cv2.CAP_PROP_FRAME_WIDTH)
height = c.get(cv2.CAP_PROP_FRAME_HEIGHT)
numOfFrame= c.get(cv2.CAP_PROP_FRAME_COUNT)
fps= c.get(cv2.CAP_PROP_FPS)
size = (int(width), int(height))
_, f = c.read()
prevFrame= f
result_array= prevFrame
while c.isOpened():
#Here is the part I am asking
result_array = np.append(result_array, [prevFrame])
#
ret, f = c.read()
curFrame= f
if ret == True:
...['Do Something']
k = cv2.waitKey(20)
if k == 27:
print result_array.shape
break
else:
break
cv2.destroyAllWindows()
c.release()
out.release()
あなたはで、あなたがこれまでにコード化された、と説明しているかを示すことができ、我々は空の配列を定義しながら()ループが直前に あなたのコードを参照してどの領域が難しいのですか? – idjaw
私は現在持っているコードを追加します。私はちょうどappend()を使用しましたが、結果は私が望むものとは異なります。 "result_array.shape"の出力は(3185L、)のようなものです! –