我正在尝试找到这些三角形角落的像素值。 我可以在输出图像上标记点但不知道如何将其作为打印变量获取。我希望这些角点值存储在变量中。 This是输入图像“triangles.png”。 This是输出图像。
import cv2
import numpy as np
from matplotlib import pyplot as plt
filename = 'triangles.png'
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)
img[dst>0.01*dst.max()]=[250,0,0]
cv2.imshow('dst',img)
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()
答案 0 :(得分:2)
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
x, y = np.nonzero(dst > 0.01 * dst.max())
x,y - 具有角的x和y坐标的numpy数组。你以后可以用它:
coordinates = zip(x, y)