Я пытаюсь освоить методы обнаружения особенностей изображения.
Мне удалось обнаружить горизонтальную линию (непрерывную / непрерывную), однако у меня возникают проблемы с обнаружением всех пунктирных / прерывистых линий на изображении.
Вот мое тестовое изображение, как вы можете видим, что есть пунктирные линии и некоторые тексты / поля и т. д. c.
До сих пор я использовал следующий код, который обнаружил только одну пунктирную линию .
import cv2
import numpy as np
img=cv2.imread('test.jpg')
img=functions.image_resize(img,1000,1000) #function from a script to resize image to fit my screen
imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
imgEdges=cv2.Canny(imgGray,100,250)
imgLines= cv2.HoughLinesP(imgEdges,2,np.pi/100,60, minLineLength = 10, maxLineGap = 100)
for x1,y1,x2,y2 in imgLines[0]:
cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)
cv2.imshow('Final Image with dotted Lines detected',img)
Мое выходное изображение ниже. Как видите, мне удалось обнаружить только последнюю пунктирную линию. Я поиграл с параметрами rho, theta, min / max line, но не повезло.
Любой совет очень ценится:)