OpenCV 2.4.9でpythonを使用してビデオファイルを読み込み(および表示する)ことに問題があります。 cv2.imread()
を取得して同じディレクトリから画像を読み取ることができたので、ファイルを見つけることに問題はないことが分かりました。間違いなくcv2.VideoCapture()
の問題です。ここで私はなってきたコードと出力があります:OpenCV 2.4.9 VideoCapture()はEnthought Python 2.7環境でビデオファイルを読み込みません
import cv2
import numpy as np
testvid = cv2.VideoCapture('testvid.avi')
while(1):
ret, frame = testvid.read()
print ret
cv2.imshow('frame',frame)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
testvid.release()
cv2.destroyAllWindows()
出力:
False
error: C:\pisi\tmp\opencv-2.4.9-5\work\opencv-2.4.9\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file C:\pisi\tmp\opencv-2.4.9-5\work\opencv-2.4.9\modules\highgui\src\window.cpp, line 261
私は同じ問題を持っていた何人かの人々が存在しています知っています。 This threadとthis treadはどちらも、あなたのバージョンに合わせてopencv_ffmpeg.dllファイルの名前を変更し、それをあなたのパスのメインのpythonディレクトリまたはディレクトリ(またはそれに相当するもの)にコピーする必要があると言って問題を解決します。
しかし、私はEnthought(私の教授の推薦により)を使ってPython 2.7.13を使用しています。パスとウェイのライブラリとパッケージは、他のスレッドとはまったく異なっているようです。 EnthoughtはOpenCVを自動的にダウンロードしてセットアップするパッケージマネージャを使用します。 Pythonディレクトリはありません。すべてがEnthoughtを通してです。いくつかの掘削後、私はOpenCVのの.dllのすべてがopencv_ffmpeg249_64.dll含めて、配置されて見つかった場所:
C:\Users\USERNAME\AppData\Local\Enthought\Canopy\edm\pkgs\03\9d58e152b8f411718220c30639b8448585cb7d9a82de662c7e34b35d9ec1f6
だから私はこれで何をしますか? .dllをどこにコピーしますか? .dllはここでも問題ですか?私は、あらゆる種類の場所にコピーし、.dllの名前を変更するなど、非常に多くのことを試みました。助けて!私はあなたがゼロから再起動し、次の手順を実行することをお勧めしたいあなたの問題を解決するために
アドバイスをいただきありがとうございます。私はPython 3をダウンロードしてピップ作業をしましたが、cmakeを正しく動作させることができませんでした。私は、opencvをインストールする別の方法を試しました。これは、opencv用の.whlファイルをpip dowloadすることによって行いました。しかし、今私がプログラムを実行するとき、私はこれを取得します: 'ImportError:DLLロードが失敗しました:%1は有効なwin32アプリケーションです' – Spaceguy44
私はウィンドウ10を使用していることを明確にする必要があります。 – Spaceguy44
opencvを.whlファイルをインストールすると動作しません。あなたはcmakeに遭遇している問題の詳細を教えてください。 – Employee