質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
コンピュータビジョン

コンピュータビジョンとは、コンピュータの視覚を実現する技術です。コンピュータに取り込んだ画像を処理してデータを抽出します。顔画像の認識やCTスキャンの画像診断などに利用されています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

7504閲覧

opencv contribのOPENCV_ENABLE_NONFREE Cmake option and rebuilt...の解決法

nanashiwolf

総合スコア5

コンピュータビジョン

コンピュータビジョンとは、コンピュータの視覚を実現する技術です。コンピュータに取り込んだ画像を処理してデータを抽出します。顔画像の認識やCTスキャンの画像診断などに利用されています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/04/15 09:18

編集2020/04/15 09:41

SIFTを使って特徴点の検出を行いと思い、opencvのcontribパッケージを使いたいのですが、pipでopencv-contrib-pythonをインストール後、実行すると、
xfeatured2dに対してにタイトルのようなエラーが出て困っています。
cmakeが理解できていないので、できればpythonのみで解決したいのですが可能でしょうか?

開発環境
windows10
VScode
python3.7.7
opencv-contrib-python 4.2.0.34

ソースコード
import cv2
import numpy as np

img = cv2.imread("gakko1a.jpg")
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

sift = cv2.xfeatures2d.SIFT_create()

エラーコード
OpenCV(4.2.0) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cpp:1210: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'cv::xfeatures2d::SIFT::create'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuki23

2020/04/15 09:32

実行したというソースコードを貼ってください。 エラーメッセージも、正確にすべて貼ってください
guest

回答1

0

ベストアンサー

cmakeが理解できていないので、できればpythonのみで解決したいのですが可能でしょうか?

pip でインストールできる OpenCV のバイナリは、特許が取得されている SIFT 特徴量の機能は含まれていません。
使いたい場合は、ソースコードをダウンロードしてきて、cmake で OPENCV_ENABLE_NONFREE オプションを有効にしてビルドする必要があります。

実際にビルドするとなると、C++ のビルド環境があり、cmake の使い方を知っている必要があるので、C++ の開発を行ったことがないのであれば、面倒なのでおすすめできません。

特許フリーの AKAZE 特徴量などは opencv-contrib-python で使えますので、特徴点マッチングをやりたい場合はこちらを使われてはどうでしょうか。

やり方は以下などを参考にしてください。

OpenCV - 特徴点マッチングを行う方法について

投稿2020/04/15 10:03

編集2020/04/15 10:03
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nanashiwolf

2020/04/15 10:13

回答ありがとうございます。 実践コンピュータビジョンの本に沿って勉強を進めているので、どうしてもSIFT特徴量を使いたいと考えています。以前少しC++を触っていたのですがビルド関連を行った記憶がありません(-_-;) 回答待ちの間に以下のサイトを参考にしつつCMakeも行ってみたのですが http://tecsingularity.com/opencv/opencvcontrib/ configureをクリックした後、generetorの選択肢にVScodeが見当たりませんでした。 よろしかったらこちらの方も教えていただけないでしょうか。
tiitoi

2020/04/15 10:18

Visual Studio はインストールされていますか?されていない場合は下記のコミュニティ版をインストールしてください https://visualstudio.microsoft.com/ja/downloads/ VSCode はテキストエディタであり、コンパイラではないので、ビルドできません。
nanashiwolf

2020/04/15 10:25

回答ありがとうございます Visual Studioはインストールしています。 buildのコンパイルにおいてのみVisualSudioを使用して、 実際にはOpencvをVScodeで利用できるという認識であっているでしょうか。
tiitoi

2020/04/15 10:36

> 実際にはOpencvをVScodeで利用できるという認識であっているでしょうか。 OpenCV を C++ から使う場合はビルド成功したら、あとは簡単ですが、Python から使う場合はもう少し複雑です。 CMake のオプションで Python 用のライブラリファイルを出力するオプションがあるので、それを有効にしてビルドして、ビルドできたら、Python のライブラリとしてインストールする必要があります。 下記などが参考になると思います。 https://qiita.com/KurozumiGH/items/ef8cca96a13444b7dcda 後日になってもよければ試してみますが、今はちょっと環境がないのでこちらでは試せません。
nanashiwolf

2020/04/15 10:45

貼っていただいたサイトを参照しながら試してみようと思います。 無知な私に付き合って下さりありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問