MacでOpenCVでSHIFTを使う方法

自分の備忘録として残しておきます。

とりあえず解決方法が知りたい人は「解決方法」を参照してください。

スポンサーリンク
レクタングル大

MacでOpenCV使用時にエラー

環境:

  • Mac Catalina
  • Anaconda (python 3.7.6)

上記環境でOpenCVのSHIFTを使用しようとするとエラーが発生。

エラーが発生するコード:

エラー:

これはOpenCV3以降はライセンスが必要なSIFTやSURFがデフォルトでインストールされていない(pip install opencv-pythonで入っていない)ために、cv2の属性に含まれていないというエラー。

なので、opencv-contrib-pythonをpipで入れると、今度は以下のエラー。

原因

エラーメッセージに明記されている通り、ビルド時に「OPENCV_ENABLE_NONFREE」が設定されていないため。で、どうやらopencv-contrib-pythonがv4になってから上記が設定されていないようです。

解決方法

なので、解決方法は2通りが考えられます。

  1. v4を「OPENCV_ENABLE_NONFREE」再設定してビルド
  2. 「OPENCV_ENABLE_NONFREE」が設定されているバージョンを使用する

王道は「1」ですが、今回はSIFTの作業を早くやりたかったので、2を採用しました。

これでとりあえずSIFTが使えるようになりました。

(Jupyter Notebook使用している場合はKernelの再起動も忘れずに)

勉強を再会する方へ
スポンサーリンク
レクタングル大
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">