Есть ли способ определения конечных точек с помощью Hough Lines Detector? - PullRequest
0 голосов
/ 10 мая 2019

Я работаю над распознаванием изображений, используя Hough Line Detector.Проблема, которую я обнаружил, заключается в том, что, когда я печатаю begin(x1,y1) и end(x2,y2) координаты линии, я получаю координаты положения, которые очень далеки от края изображения.Например, моя форма изображения 640x480, и я получаю координаты, такие как (-1000,900), и если я пытаюсь поместить круг, используя cv2.circle, он не отображается, потому что он находится за пределами изображения.Есть ли способ остановить Hough Line функцию на границе изображения?

dst = cv2.Canny(gray, 50, 200)
lines= cv2.HoughLines(dst, 1, math.pi/180.0, 150, np.array([]), 0, 0)
for i in range(a):
   rho = lines[i][0][0]
   theta = lines[i][0][1]
   a = math.cos(theta)
   b = math.sin(theta)
   x0, y0 = a*rho, b*rho
   pt1 = (int(x0+1000*(-b)), int(y0+1000*(a)))
   pt2 = (int(x0-1000*(-b)), int(y0-1000*(a)))

Я думаю, что проблема заключается в умножении в pt1 и pt2, но я не знаю, как яможно избежать этого и получить начальную и конечную точки, которые соответствуют границе изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...