Как я могу сделать толщину линии OpenCV двунаправленной в Python? - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь замаскировать лицо человека от кадра в видео, и у меня есть контур челюсти в виде набора из 17 координат (из ibugs). Я наложил линию, очерчивающую челюсть, используя функцию cv2.line, но похоже, что линия становится толще только в одном направлении, а не в другом.

thick = 20
for i in range(0,16):
    mask = cv2.line(mask,(int(landmarks[i][0]),int(landmarks[i][1])),(int(landmarks[i+1][0]),int(landmarks[i+1][1])),
                    (255,255,255), thick, 4)
mask = cv2.line(mask, (int(landmarks[16][0]), int(landmarks[16][1])), (int(landmarks[0][0]), int(landmarks[16][1])), 
                (255,255,255), thick)
mask = cv2.line(mask, (int(landmarks[0][0]), int(landmarks[0][1])), (int(landmarks[0][0]), int(landmarks[16][1])), 
                (255,255,255), thick)

изображение толщиной 20

an image of thickness 20

изображение толщиной 50

an image of thickness 50

спасибо заранее!

1 Ответ

0 голосов
/ 12 июня 2019

Обновление: работало нормально после перезагрузки ноутбука jupyter, не знаю, почему

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