get_obj_center

ZumiAI.get_obj_center(name: str) tuple

스트리밍되는 카메라 영상에서 특정 이름의 물체(객체) 중심 좌표를 가져옵니다.

이 함수는 object_detector_start() 로 물체 인식이 활성화된 상태에서, 주미의 카메라 영상 속에서 지정된 name을 가진 물체가 감지되었다면, 해당 물체의 중심이 되는 x, y 좌표를 튜플 형태로 반환합니다. 만약 같은 이름의 물체가 여러 개 감지되었다면, 가장 먼저 인식된(첫 번째) 물체의 좌표를 알려줍니다.

매개변수:

name (str) – 중심 좌표를 조회할 물체의 이름. 이 이름은 object_detector_start() 를 통해 인식하도록 설정된 물체 목록(기본 목록 또는 object_check_add_obj(), object_check_all_add_obj() 로 추가된 물체)에 포함되어야 합니다. (예: “person”, “stop sign”, “traffic light”, “car”등) 만약 한글 이름으로 입력할 경우, 내부적으로 정의된 매핑 사전을 통해 자동으로 영어 이름으로 변환됩니다. (예: “사람” 입력 시 “person”으로 변환)

반환:

인식된 물체의 중심 좌표 (x, y).

  • x (int): 물체의 중심 x 좌표.

  • y (int): 물체의 중심 y 좌표.

물체가 인식되지 않았다면 빈 튜플 ()`을 반환합니다. 예시: `(0, 0) (스트리밍 화면의 중앙)

반환 형식:

tuple

Examples: >>> zumiAI.camera_stream_start() # 카메라 스트리밍 시작 >>> zumiAI.object_detector_init() # 물체 인식 초기화 >>> zumiAI.object_detector_start() # 물체 인식 시작

>>> print("--- 영어 이름으로 'person' 감지 예시 ---")
>>> while True:
>>>     person_center = zumiAI.get_obj_center(name="person") # 영어 이름 사용
>>>     if person_center: # 사람이 감지되어 좌표가 반환된 경우
>>>         center_x, center_y = person_center
>>>         print(f"사람(person)의 중심 좌표: X={center_x}, Y={center_y}")
>>>         break # 감지되면 반복 중단
>>>     else:
>>>         print("사람(person) 감지 대기 중...")
>>>     time.sleep(1) # 1초 대기
>>> print("--- 한글 이름으로 '자동차' 감지 예시 ---")
>>> # KOREAN_TO_ENGLISH_OBJ_MAP이 미리 정의되어 있다고 가정합니다.
>>> while True:
>>>     car_center = zumiAI.get_obj_center(name="자동차") # 한글 이름 사용
>>>     if car_center: # 자동차가 감지되어 좌표가 반환된 경우
>>>         center_x, center_y = car_center
>>>         print(f"자동차(car)의 중심 좌표: X={center_x}, Y={center_y}")
>>>         break # 감지되면 반복 중단
>>>     else:
>>>         print("자동차(car) 감지 대기 중...")
>>>     time.sleep(1) # 1초 대기
>>> zumiAI.object_detector_stop() # 물체 인식 중지

참고

  • 이 함수를 사용하기 전에 camera_stream_start() 로 영상 스트리밍을 시작하고, object_detector_init() 로 물체 인식 기능을 초기화한 후, object_detector_start() 를 호출하여 물체 인식을 활성화해야 합니다.

  • name으로 지정하는 물체 이름은 COCO 데이터셋에 정의된 클래스 이름이어야 합니다. 한글 이름으로 변환해서 사용할 수도 있습니다.

  • 이 기능은 주미 자체의 하드웨어 기능이 아니라, PC 기반 소프트웨어로 처리됩니다.