概要
ネット上でよく見る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。