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() 함수를 순서대로 호출하여 스트리밍 및 얼굴 인식 기능을 활성화해야 합니다.

  • 반환되는 좌표는 스트리밍 영상 화면의 크기(해상도)에 따라 달라질 수 있습니다.

  • 이 함수는 한 번에 하나의 얼굴(가장 크게 감지된 얼굴)에 대한 정보만 반환합니다.