Сглаживание линий на изображении? - PullRequest
0 голосов
/ 26 мая 2020

У меня есть такое изображение - я хотел бы сгладить линии на нем (как вы видите, они немного неровные). Как я могу это сделать? enter image description here

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

img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
sens = 20

lower_green = np.array([60 - sens, 100, 100])
upper_green = np.array([60 + sens, 255, 255])
mask = cv2.inRange(img_hsv, lower_green, upper_green)

output_img = img.copy()
output_img[np.where(mask == 0)] = 0
output_hsv = img_hsv.copy()
output_hsv[np.where(mask == 0)] = 0
bit_not = cv2.bitwise_not(output_hsv)

Это гладкость линии, которую я пытаюсь достичь. Я сделал это, используя детектор линий и перерисовав линии с помощью флага cv2.LINE_AA. Но он обнаруживает края линии, поэтому я получаю двойные линии, чего я не хочу. enter image description here

...