这是我使用的代码:
import cv2
import cv
im=cv2.imread("box.png")
gr=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
d=cv2.FeatureDetector_create("SIFT")
kp=d.detect(gr)
imm=cv2.drawKeypoints(im, kp)#[, outImage[, color[, flags]]])
# io.imshow(gr)
但是我得到的错误是 cv2 没有 drawKeypoints。我自己检查了这个:
d=dir(cv2)
if "drawKeypoints" in d:
print 'yes'
else:
print 'no'
发现确实没有。是否有要使用的任何替代功能,或者是否是一些与版本相关的问题?
最佳答案
我不确定版本问题,但我正在运行 OpenCV 2.4.11 并且在我运行之后 cv2.drawKeypoints() 可用:
import cv2
如果您仍然无法让它工作,您可以使用 common.py 示例代码中的替代方法:
def draw_keypoints(vis, keypoints, color = (0, 255, 255)):
for kp in keypoints:
x, y = kp.pt
cv2.circle(vis, (int(x), int(y)), 2, color)
希望对您有所帮助。
关于python - 在 python opencv 中使用 drawKeypoints 给出错误 : 'module' object has no attribute 'drawKeypoints' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26499093/