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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

4109閲覧

openCVで動画ファイルがうまく開けない

Kaikaiikkun

総合スコア11

OpenCV

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2019/03/10 00:41

前提・実現したいこと

openCVで動画をうまく再生したいです
現状は、画面に収まりきらないサイズの静止画が表示されるだけです。

発生している問題・エラーメッセージ

AVF: AVAssetWriter status: Cannot create file というエラーが出た後 mMovieWriter.status: 3. Error: Cannot create file というエラーが何行にも渡って出ます

該当のソースコード

python3

1import cv2 2import sys 3import os 4 5cap = cv2.VideoCapture("movie/Cosmos.mp4") 6if cap.isOpened() == False: 7 sys.exit() 8ret, frame = cap.read() 9h, w = frame.shape[:2] 10fourcc = cv2.VideoWriter_fourcc(*"mp4v") 11dst = cv2.VideoWriter("output/test.m4v", fourcc, 30.0, (w,h)) 12 13while True: 14 ret, frame = cap.read() 15 if ret == False: 16 break 17 cv2.imshow("img", frame) 18 dst.write(frame) 19cv2.waitKey(0) 20cv2.destroyAllWindows() 21cv2.waitKey(1) 22cap.release() 23

試したこと

aviではダメとのことで、mp4vにしてみたのですが、それでもダメでした。
waitkeyをdestoroyAllWindowsの前後につけることでウィンドウを閉じれるようにはなったのですが...

補足情報(FW/ツールのバージョンなど)

macOS:Mojave 10.14.1

Anaconda1.9.6

openCV4.0
python3.6.5

opencv3.4
python3.5

この組み合わせは試しました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

普通にこうするのではだめですか?

Python3

1import cv2 2import sys 3 4filepath = "./sample.mp4" 5cap = cv2.VideoCapture(filepath) 6cv2.namedWindow("image", cv2.WINDOW_NORMAL) 7 8while(cap.isOpened()): 9 10 ret, frame = cap.read() 11 cv2.imshow("image", frame) 12 13 if cv2.waitKey(25) & 0xff == ord("q"): 14 break 15 16 17cv2.destroyAllWindows() 18 19h, w = frame.shape[:2] 20print("h, w: {} {}".format(h, w)) 21 22cap.release()

投稿2019/12/16 11:36

編集2019/12/16 11:37
pastelkona

総合スコア31

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

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

pastelkona

2019/12/16 11:39

あれ? 今更回答しても遅いよね:-)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問