get_face_landmark
- ZumiAI.get_face_landmark(landmark=1) list
스트리밍되는 카메라 영상에서 인식된 얼굴의 특정 랜드마크(특징점) 중심 좌표를 가져옵니다.
이 함수는 face_detector_start()` 로 얼굴 인식이 활성화된 상태에서, 스트리밍 영상에 인식된 얼굴의 지정된 랜드마크(예: 왼쪽 눈, 코)의 x, y 좌표를 리스트 형태로 반환합니다. 이를 통해 얼굴 각 부분의 위치를 프로그램에서 활용할 수 있습니다.
- 매개변수:
landmark (int or face_landmark, optional) –
좌표를 가져올 얼굴 랜드마크의 ID 또는 이름. 기본값은 1 (왼쪽 눈)입니다. 다음 값들을 사용할 수 있습니다:
1 (face_landmark.LEFT_EYE): 왼쪽 눈
2 (face_landmark.RIGHT_EYE): 오른쪽 눈
3 (face_landmark.LEFT_EYEBROW): 왼쪽 눈썹
4 (face_landmark.RIGHT_EYEBROW): 오른쪽 눈썹
5 (face_landmark.NOSE): 코
6 (face_landmark.MOUTH): 입
7 (face_landmark.JAW): 턱
잘못된 값이 입력되면 자동으로 코(face_landmark.NOSE)의 좌표를 반환합니다.
- 반환:
- 선택된 얼굴 랜드마크의 중심 x, y 좌표를 담은 리스트.
[0] x축 위치 (int): 랜드마크의 중심 x 좌표.
[1] y축 위치 (int): 랜드마크의 중심 y 좌표.
얼굴이 인식되지 않았다면 [0, 0]`을 반환할 수 있습니다. 예시: `[150, 110] (선택된 랜드마크의 화면 상 위치)
- 반환 형식:
list
예제
>>> zumiAI.camera_stream_start() # 카메라 스트리밍 시작 >>> zumiAI.face_detector_init() # 얼굴 인식 초기화 >>> zumiAI.face_detector_start() # 얼굴 인식 시작
>>> # 코의 중심 좌표 가져오기 >>> nose_x, nose_y = zumiAI.get_face_landmark(landmark=5) # 또는 zumiAI.get_face_landmark(face_landmark.NOSE) >>> print(f"코의 중심 좌표: X={nose_x}, Y={nose_y}")
>>> # 왼쪽 눈의 중심 좌표 가져오기 >>> left_eye_x, left_eye_y = zumiAI.get_face_landmark(landmark=face_landmark.LEFT_EYE) >>> print(f"왼쪽 눈의 중심 좌표: X={left_eye_x}, Y={left_eye_y}")
>>> zumiAI.face_detector_stop() # 얼굴 인식 중지
참고
이 함수를 사용하기 전에
camera_stream_start()
,face_detector_init()
, 그리고face_detector_start()
함수를 순서대로 호출하여 스트리밍 및 얼굴 인식 기능을 활성화해야 합니다.반환되는 좌표는 스트리밍 영상 화면의 크기(해상도)에 따라 달라질 수 있습니다.
이 함수는 한 번에 하나의 얼굴(가장 크게 감지된 얼굴)에 대한 정보만 반환합니다.