正确检测图像opencv python中的角点

时间:2017-02-08 22:11:56

标签: python opencv image-processing 3d

我有以下图像,我使用以下代码检测角落

import cv2

img = cv2.imread('image.jpg',cv2.IMREAD_COLOR)

gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
bilateral = cv2.bilateralFilter(gray, 9, 75, 75)
canny = cv2.Canny(bilateral, 50, 150)

corners    = cv2.goodFeaturesToTrack(canny,15,0.06,25)

for i in range(len(corners)):
    cv2.circle(img, (corners[i][0][0], corners[i][0][1]), 5, 255, -1)

cv2.imshow('dilated', img)
cv2.waitKey(0)

enter image description here

并非所有角落都没有正确确定,因为我预计应该确定黑角和方角。幸运的是,在这种情况下确定了箱角,但并未确定所有黑角。如何改善这一结果,甚至改变我获得正确角落的方法。哈里斯角落对于这种方法不是一个很好的解决方案,因为我需要一个单点作为角落,但哈里斯角落接近返回许多关闭点作为角落的候选者。提前感谢您的建议。

0 个答案:

没有答案