anacondaやpipでSIFTやSURFを使えるようにする。Contribパッケージの入れ方。
Windows側のAnacondaで環境を改変したのでメモ。
OpenCVでSIFTが使えない問題
出るよね。こういうエラー。
module 'cv2' has no attribute 'xfeatures2d' anaconda
OpenCV3以降になってからSIFTやSURF等のライセンスが必要な奴らはcontribというExtensionみたいなフォルダに分離され,普通のインストールでは入らなくなっています。
解決法はcontribを自分でコンパイルするか,誰かがコンパイルしたのをいただく事。
なお,2017年12月のROS Kinetic のモジュールにはきちんと含まれています。
なのでウチのUbuntuPCでは大丈夫。
問題はWindowsのPCでおこりました。
セットアップ内容は以下を参照
ossyaritoori.hatenablog.com
Anacondaでの解決法
以下を参照。contribを含むパッケージを探します。
OpenCV 3(core + contrib)をWindows & Python 3の環境にインストール&OpenCV 2とOpenCV 3の違い&簡単な動作チェック - Qiita
以下の通りでダウングレードはしましたが無事使えるようになりました。
conda install -c https://conda.anaconda.org/menpo opencv3
pip 使いのための解決法
普段pipを使っている人はこちら。
pipとAnaconda併用するとわけわからない事になりがち。
どうもVerの新しい方が優先されるっぽい?
contribも別で配布しているので両方入れるには以下の様にやります。
pip install opencv-python pip install opencv-contrib-python
以下の記事もあったりしてどれがいいかはちょっとよくわかっていないです。
qiita.com
どう使うか
マッチングのやり方とかは公式OR以下の例を参照。
ossyaritoori.hatenablog.com
結論
Anacondaを使っている以上はできるだけconda使うべきかもしれない。