我正在使用 Python 3.7.1 和 OpenCV 4.0.0
我只是在使用各种配置测试 FAST 算法,我遇到了 drawKeypoints
的问题功能。事实上,我复制了 OPenCV 教程代码,只是为了实现该函数需要第三个参数,即输出图像。在那之后,一切正常,我 promise repo 。
后来,我不得不格式化我的电脑,然后重新安装所有东西。现在,每当我尝试运行该代码时,它都会提示 module 'cv2' has no attribute 'drawKeypoints'
.这是我在格式化后运行的最基本的代码。
import numpy as np
import cv2
import sys
img = cv2.imread(sys.argv[1], 0)
fast = cv2.FastFeatureDetector_create()
kp = fast.detect(img,None)
img2 = cv2.drawKeypoints(img, kp, None, color=(255,0,0))
cv2.imshow('Original',img)
cv2.imshow('Detected',img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
我一直在寻找,但我不知道这段代码可能有什么问题。
最佳答案
它看起来与 this bug 相关它在 git 存储库(源)中有一个解决方案,但不一定在使用 pip 的安装中更新。它于 2018 年 12 月 11 日合并,所以在这个问题的时间里它可能没有更新。
也许获得更新的轮子可以解决问题,或者您可以从源头自己构建它。 Here您还可以看到这是如何生成的(来自 pip install 的),还为您提供了构建自己的 opencv 轮的工具。
关于python - OpenCV 没有 drawKeypoints 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53834501/