複数のカメラから1つのビデオマッシュアップにビデオをつなぎ合わせるために、複数のVideoCaptureオブジェクトを作成したかったのです。複数のVideoCaptureオブジェクトを作成する方法
たとえば、以下のビデオキャプチャオブジェクトを使用して読み上げたい3つのビデオのパスがあり、個々のビデオからフレームを取得するので、それらを書き込みに使用できます。ビデオパスのN個
cap0=cv2.VideoCapture(path1)
cap1=cv2.VideoCapture(path2)
cap2=cv2.VideoCapture(path3)
.
.
capn=cv2.VideoCapture(path4)
は同様に、私はまた、私はパスがあるリストにforループを使用してみました
ret,frame0=cap0.read()
ret,frame1=cap1.read()
.
.
ret,frameN=capn.read()
ようなフレームを読み出すためにフレーム・オブジェクトを作成したい場合:期待
1つのパスだけが読み込まれ、その特定のビデオのみのためにフレームが保存されるたびに表示されます。多くのフォーラムでは、C++で複数のキャプチャオブジェクトを作成できますが、ハンド。私はPythonのpgogrammerないんだけど、おそらく解決策のようなものがある
frames=[]
for path in videoList:
indices=[]
cap = cv2.VideoCapture(path)
while(cap.isOpened()):
ret,frame=cap.read()
if not ret:
break
indices.append(cap.get(1))
frames.append(indices)
cap.release()
cv2.destroyAllWindows()
私のpythonについて多くを知らないが、それはあるかもしれませんスコープの問題?したがって、ループ内でローカルにcv2.VideoCapture(pathN)を作成すると、ループを終了すると失われる可能性がありますか?あなたが行ったことを正確に示すためにコードを共有する必要があります。 – Micka
2つ目のビデオクリップを作成する前に、ただ1つのビデオクリップとループをエンドレスに作成するだけです... – Micka