質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

609閲覧

違うフレームから再生した各動画に描画

yamasn

総合スコア23

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/02/24 18:32

前提・実現したいこと

現フレームからの動画と(例えば)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それぞれに
異なる描画ができるようにしたいです。
どなたか方法知っていらっしゃったら教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

frame2 = frameだと同じデータを指すことになりますので一方への描画結果はもう一方へも反映されます。
frame2 = frame.copy()と別データになるようにしてください。

投稿2020/02/24 22:40

編集2020/02/24 22:47
can110

総合スコア38268

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamasn

2020/02/26 06:40

再度ありがとうございます! 無事描画できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問