小编Yun*_*mez的帖子

无法在 Python OpenCV v4.20 中使用 SIFT

我正在使用 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 implementation) 这个算法是已获得专利并被排除在此配置中;设置 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()
Run Code Online (Sandbox Code Playgroud)

python opencv image image-processing sift

7
推荐指数
3
解决办法
9128
查看次数

此函数如何以相反顺序打印字符串?

我正在学习c编程中的字符串和字符。今天我看到了一个代码,它以相反的顺序打印字符串,但是我不明白它是如何工作的。您能帮我理解它吗?

  void reverse(const char * const sPtr)
    {

    if ('\0' == sPtr[0]) {
         return;
    }

    else { 
          reverse(&sPtr[1]); 
          putchar(sPtr[0]);
          }
    }
Run Code Online (Sandbox Code Playgroud)

c string recursion pointers

2
推荐指数
1
解决办法
89
查看次数

标签 统计

c ×1

image ×1

image-processing ×1

opencv ×1

pointers ×1

python ×1

recursion ×1

sift ×1

string ×1