OpenCV没有drawKeypoints函数

时间:2018-12-18 13:49:36

标签: python opencv

我正在使用Python 3.7.1和OpenCV 4.0.0 我只是在测试具有各种配置的FAST算法,而drawKeypoints函数却遇到了问题。实际上,我复制了OPenCV教程代码,只是为了意识到该功能需要第三个参数,即输出图像。之后,一切都正常了,我决定回购。
后来,我不得不格式化我的电脑,然后重新安装所有内容。现在,每当我尝试运行该代码时,它都会抱怨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()

我一直在寻找,并且不知道此代码可能有什么问题。

1 个答案:

答案 0 :(得分:1)

它看起来与this bug有关,后者在git存储库(源)中有一个解决方案,但不一定在安装过程中使用pip进行了更新。它已于2018年12月11日合并,因此在提出此问题时,它可能未更新。

也许更新车轮可以解决问题,或者您可以从源头上自行构建。 Here您还可以看到它是如何生成的(来自pip安装),并且还为您提供了构建自己的opencv轮的工具。