我使用以下算法(cornerHarris)检测到此图像的角落(图像中的红点)。现在我想得到那些点的坐标。我怎么能这样做?
import cv2
import numpy as np
filename = 'Square.jpg'
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
#result is dilated for marking the corners, not important
dst = cv2.dilate(dst,None)
# Threshold for an optimal value, it may vary depending on the image.
img[dst>0.01*dst.max()]=[0,0,255]
cv2.imshow('dst',img)
cv2.waitKey(0)
cv2.imwrite('CornerSquare.jpg',img)
答案 0 :(得分:3)
coord = np.where(np.all(img == (0, 0, 255), axis=-1))
print zip(coord[0], coord[1])