is_obj_detected

ZumiAI.is_obj_detected(name: str) bool

스트리밍되는 카메라 영상에서 특정 이름의 물체가 감지되었는지 확인합니다.

이 함수는 object_detector_start() 로 물체 인식이 활성화된 상태에서, 주미의 카메라 영상 속에 지정된 name을 가진 물체(예: “person”, “car”)가 화면에 나타났는지 여부를 True 또는 False로 반환합니다.

매개변수:

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

반환:

해당 물체가 영상에서 감지되었는지 여부.
  • True: 지정된 name의 물체가 현재 영상에 감지되었습니다.

  • False: 지정된 name의 물체가 현재 영상에 감지되지 않았습니다.

반환 형식:

bool

예제

>>> zumiAI.camera_stream_start()  # 카메라 스트리밍 시작
>>> zumiAI.object_detector_init() # 물체 인식 초기화
>>> zumiAI.object_detector_start() # 물체 인식 시작
>>> print("--- 영어 이름으로 'person' 감지 예시 ---")
>>> while True:
>>>     if zumiAI.is_obj_detected(name="person"): # 영어 이름 사용
>>>         print("사람(person)이 감지되었습니다!")
>>>         break # 감지되면 반복 중단
>>>     else:
>>>         print("사람(person) 감지 대기 중...")
>>>     time.sleep(1) # 1초 대기
>>> print("--- 한글 이름으로 'car' 감지 예시 ---")
>>> # KOREAN_TO_ENGLISH_OBJ_MAP이 미리 정의되어 있다고 가정합니다.
>>> while True:
>>>     if zumiAI.is_obj_detected(name="자동차"): # 한글 이름 사용
>>>         print("자동차(car)가 감지되었습니다!")
>>>         break # 감지되면 반복 중단
>>>     else:
>>>         print("자동차(car) 감지 대기 중...")
>>>     time.sleep(1) # 1초 대기
>>> zumiAI.object_detector_stop() # 물체 인식 중지

참고

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

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

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