Как сгладить линии на изображении? - PullRequest
0 голосов
/ 19 октября 2019

Есть ли способ с OpenCV сгладить края, как показано на этом небольшом черно-белом изображении?

enter image description here

Я пробовал cv2.blur иcv2.GaussianBlur но это просто размывает изображение. Я хочу сгладить линии (черные линии, как показано). Как я мог это сделать?

Ответы [ 2 ]

0 голосов
/ 20 октября 2019

Вам не нужно запускать GaussianBlur для всего изображения, только для тех частей, которые вам нужны. Вы можете создать свои собственные маски или использовать в качестве отправной точки что-то вроде этого:

blur = cv2.GaussianBlur( img, (5,5), 0)
smooth = cv2.addWeighted( blur, 1.5, img, -0.5, 0)

Не стесняйтесь экспериментировать с параметрами.

0 голосов
/ 20 октября 2019

Вы можете найти внешний контур области, затем найти выпуклую оболочку и нанести на нее флаг сглаженной линии на новом изображении. См. Метод fillConvexPoly для python.

...