Python3、OpenCVセットアップ
OpenCVを触ることになり、Python3で公式チュートリアルをやりました
その中で、突然エラーを吐かれてその対処に3時間苦労した箇所があったためメモ代わりに書いておきます
OpenCV-Pythonのチュートリアル
OpenCV: OpenCV-Python Tutorials
OpenCVの導入はこちらのサイトを参考...というか言われたとおりにやりました
blog.amedama.jp
非常にわかりやすいサイトで個人的にこれくらいの記事を書きたいなと思うところです
順調に進み何事もなく終わると思いきや、特徴量の抽出の部分でエラーが!!
はじめはOpenCV3.0.0-Pythonのチュートリアルを試していたのですが、
>>> import cv2 >>> sift = cv2.SIFT() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'cv2' has no attribute 'SIFT'
調べていくと、OpenCV3.1.0-Pythonのチュートリアルがあり、同じ内容でコードが違うところを発見しました
よかった、これで終わるとと思いきや...
>>> import cv2 >>> sift = cv2.xfeatures2d.SIFT_create() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'cv2' has no attribute 'xfeatures2d'
アリャリャ??
そこで辿りついたのがこちらのサイト
danglingfarpointer.hatenablog.com
どうやらSIFTやSURFはOpenCV3から別のモジュールとして扱われてるみたい
brewでインストールする時に
brew install opencv3 --with-contrib --with-python3
としてあげればインポートできました
これだけに3時間も要してしまうなんて、私もまだまだ情弱のようです