저는이 삼각형의 모서리의 픽셀 값을 찾으려고합니다. 해리스 코너를 사용하고 모서리에 대해 모든 x, y의 배열을 얻을 수 있습니다. 코너 값을 [[x1,y1], [x2,y2], [x3,y3]]
과 같은 2D 목록에 저장하려고합니다.파이썬 열린 cv 모서리
검은 색 삼각형 (아래에 게시 된 코드)의 해리스 모서리를 사용할 때 흰색 배경의 결과는 (array([121, 121, 122, 122, 123, 123, 124, 124, 359, 359, 359, 359, 359, 359, 360, 360, 360, 360], dtype=int64), array([240, 241, 240, 241, 240, 241, 240, 241, 121, 122, 123, 358, 359,360, 121, 122, 359, 360], dtype=int64))
과 같습니다. 이 목록에서 3 모서리의 2D 목록을 만들어야합니다. 당신이 할 수있는 가장 쉬운 방법이 현재 값으로
img = cv2.imread(filePath)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = numpy.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
x,y = numpy.nonzero(dst > 0.01 * dst.max())
그래서 인근에있는 여러 개의 점이 하나의 점으로 병합되어야합니다. 이를 수행하는 기본적인 두 가지 방법이 있습니다. * k = 3 *이있는 포인트에 [* k * -means] (https://docs.opencv.org/3.0-beta/modules/core/doc/clustering.html#kmeans)를 실행하여 함께 클러스터링하고 센터를 가져 오거나 단순히 각 픽셀의 무게 중심을 ['connectedComponentsWithStats()'] (https://docs.opencv.org/3.0-beta/modules/imgproc/doc/structural_analysis_and_shape_descriptors) 마스크를 사용하여 찾을 수 있습니다. .html # connectedcomponents). –