前提・実現したいこと
現フレームからの動画と(例えば)100フレーム前からの動画を同時に再生させ、それぞれの動画に違う描画を行いたいです。
発生している問題・エラーメッセージ
下のようなコードを試したのですが
movie_1で描画した情報がそのままmovie_2に残ってしまいます。
該当のソースコード
python
1import cv2 2 3cap = cv2.VideoCapture("動画orカメラ") 4 5width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 6height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 7 8x = width//2 9y = height//2 10w = width//4 11h = height//4 12x2 = width//4 13y2 = height//4 14w2 = width//2 15h2 = height//2 16N_BUF = 100 17buffer = [] 18while True: 19 ret, frame = cap.read() 20 frame = cv2.resize(frame,(500,300)) 21 if not ret: 22 break 23 buffer.append(frame) 24 frame2 = frame 25 cv2.rectangle(frame2, (x, y), (x+w, y+h), color=(0,0,0),thickness= 4) 26 cv2.imshow("movie_1", frame2) 27 if len(buffer) >= N_BUF: 28 frame = buffer.pop(0) 29 cv2.rectangle(frame, (x2, y2), (x2+w2, y2+h2), color=(255,255,255),thickness= 4) 30 cv2.imshow("movie_2", frame) 31 if cv2.waitKey(30) & 0xFF == ord('q'): 32 break 33 34cv2.destroyAllWindows()
movie_1の描画情報を残さずにmovie_1とmovie_2それぞれに
異なる描画ができるようにしたいです。
どなたか方法知っていらっしゃったら教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/26 06:40