OpenCV v4.20とPyCharm IDEを使用しています。 SIFTアルゴリズムを使いたいのですが。しかし、私はこのエラーを受け取ります。私はインターネットでこのエラーの解決策を探しましたが、どれも私を助けませんでした。このエラーの解決策を知っていますか? (pipを使用すると、少なくとも3.4.2.16バージョンのOpenCVをインストールできます)
これが私のエラーです:
トレースバック(最後の最後の呼び出し):ファイル "C:/Users/HP/PycharmProjects/features/featuredetect.py"、7行目、sift = cv.xfeatures2d_SIFT.create()
cv2.error:OpenCV(4.2.0)C:\ projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cpp:1210:error:(-213:The function/feature is not implement)このアルゴリズムは特許を取得しており、この構成では除外されています。 OPENCV_ENABLE_NONFREE CMakeオプションを設定し、ライブラリを関数 'cv :: xfeatures2d :: SIFT :: create'で再構築します
これが私のコードです:
import cv2 as cv
image = cv.imread("the_book_thief.jpg")
gray_image = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
sift = cv.xfeatures2d_SIFT.create()
keyPoints = sift.detect(image,None)
output = cv.drawKeypoints(image,keyPoints,None)
cv.imshow("FEATURES DETECTED",output)
cv.imshow("NORMAL",image)
cv.waitKey(0)
cv.destroyAllWindows()
以前同じ問題がありました。私はすべての方法を試しましたが、最終的には非常に単純な方法で、多くの人から回答を得ています。ただし、私のアプローチには少し変更があります。
ステップ1:
以前にインストールしたopencvライブラリをアンインストールします
_pip uninstall opencv-python
_
ステップ2:
著作権の問題のため、opencv contribライブラリをインストールしてください。ここでは、バージョン3.4.2.17を使用しています。
_pip install opencv-contrib-python==3.4.2.17
_
上の図は、バージョン_3.4.2.16
_が見つからないというエラーを示しています。したがって、バージョン_3.4.2.17
_を試してみました。このバージョンが機能しない場合は、3.4.xの他のバージョンを試してください。
ステップ3:
次に、以下を実行します
import cv2 sift = cv2.xfeatures2d.SIFT_create()
それで全部です。わたしにはできる。私もそれがあなたのために働くことを望みます。