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