読者です 読者をやめる 読者になる 読者になる

cv2で動画読み込み時にerror: (-215) size.width>0 && size.height>0というエラーが出る場合の対処法(Windows)

cv2 openCV python

概要

ネット上でよく見るWindowsへのcv2導入方法に従ってcv2を導入すると、動画読み込み時(cv2.videoCapture()使用時)に"error: (-215) size.width>0 && size.height>0"というエラーが出てくる。
これはffmpegのDLLがないため、動画が開けずに出てくるエラーだが、一見すると何を言っているのかわからない点が厄介。
このエラーにしばらく苦しんだので、解決方法を記しておく。

解決方法

よくあるWindowsへのcv2導入方法を見ると、

1.OpenCV2.4.1等をダウンロード
2.C:/opencv/build/python/2.7/x64の cv2.pydをC:/Python27/lib/site-packegesにコピー
(anacondaで導入している場合はC:/anaconda/lib/python27/site-packages等)

と、ここまでしか手順が書いていない場合がある。

確かにこれでもcv2がインポートできて使用できるのだが、掲題のエラーが出て動画読み込み時にエラーになってしまう。
これでは片手落ちだ・・・ということで、以下の通りffmpegのdllをコピーしてあげる。

3.opencv/build内にあるopencv_ffmpeg310.dllも一緒に2のフォルダにコピー

これで正常にファイルが読み込めるようになるはず。
opencv_ffmpeg310.dllが見つからない場合は、適当にドライブ内を検索してやればOK。