728x90
추출한 얼굴을 타겟 얼굴에 매칭시켜주기 위해 들로네 삼각분할을 합니다.
Delaunay(들로네) Triangulation(삼각분할)은 "어떤 삼각형의 외접원도 그 삼각형의 세 꼭지점을 제외한 다른 어떤 점도 포함하지 않는다" 최대한 정삼각형의 모양과 가깝게 분할한다는 특징이 있다.
아래 코드는
원본 마스크에서 들로네 삼각분할을 구현한 내용입니다.
# Delaunay triangulation
rect = cv2.boundingRect(convexhull)
subdiv = cv2.Subdiv2D(rect)
subdiv.insert(landmarks_points)
triangles = subdiv.getTriangleList()
triangles = np.array(triangles, dtype=np.int32)
for t in triangles:
pt1 = (t[0], t[1])
pt2 = (t[2], t[3])
pt3 = (t[4], t[5])
cv2.line(img, pt1, pt2, (0, 0, 255), 2)
cv2.line(img, pt2, pt3, (0, 0, 255), 2)
cv2.line(img, pt1, pt3, (0, 0, 255), 2)
part3에서 계속 진행하겠습니다.
'영상처리 > 기초' 카테고리의 다른 글
Face swapping-Select and Warp triangles(part 4) (0) | 2023.01.06 |
---|---|
Face swapping-Matching the two faces triangulation(part 3) (0) | 2023.01.06 |
Face swapping (part1) 얼굴 교환 (5) | 2023.01.05 |
haar cascade face detection 얼굴 검출 (12) | 2023.01.05 |
YOLO 객체 검출 알고리즘 (17) | 2023.01.04 |