У меня есть такое изображение - я хотел бы сгладить линии на нем (как вы видите, они немного неровные). Как я могу это сделать?
Я получил линии, изолировав их от другого изображения с помощью маски для порогового цвета.
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
. Но он обнаруживает края линии, поэтому я получаю двойные линии, чего я не хочу.