# 3. \[태그인식] 예제

{% hint style="info" %}
HUENIT OS의 \[학습 모델 불러오기]에 '태그 인식' 모델이 저장되어 있어야 이 페이지에서 제공하는 예제를 실행할 수 있습니다.

[(클릭) HUENIT OS로 \[태그인식\] 모델 학습 방법](https://huenit.gitbook.io/huenit-edu/huenit/huenit-os/2./2.3)
{% endhint %}

> **AprilTag 패밀리 예시**

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2FCQa7nfQdwbT2gmLoedSS%2Fimage.png?alt=media&#x26;token=61a0bc4f-a5f2-4779-8c77-6d29f5ad98a2" alt=""><figcaption><p>Tag36h11 일부 (고유 ID 0~4번)</p></figcaption></figure>

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2FQWKtrWMugKayJ2oshWic%2Fimage.png?alt=media&#x26;token=51825324-9171-438e-81a9-a2276cb6e91c" alt=""><figcaption><p>Tag25h9 일부 (고유 ID 10~14번)</p></figcaption></figure>

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2Fq1pz9Z7ZG0NJqhZRmrLC%2Fimage.png?alt=media&#x26;token=52bcf40e-2ec0-4e0e-9da7-ef79349c492b" alt=""><figcaption><p>Tag16h5 일부 (고유 ID 20~24번)</p></figcaption></figure>

## (예제 1) 학습한 AprilTag가 인식되면, 디스플레이에 해당 태그 데이터 위에 사각형을 그리고 학습ID 출력하기

#### <정답코드>

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2FpnVUgbwHfsV7gLE7YgW9%2Fimage.png?alt=media&#x26;token=bd1b3249-d036-45e0-a48f-44dcfe5ff741" alt=""><figcaption></figcaption></figure>

## (예제 2) 학습한 AprilTag가 인식되면, 디스플레이에 해당 태그 데이터 위에 사각형을 그리고 태그 고유 ID 출력하기

#### <정답코드>

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2FZga0tnK7iBiAic6REUmn%2Fimage.png?alt=media&#x26;token=53de6517-3fed-4921-aed2-1209c3fda963" alt=""><figcaption></figcaption></figure>

***

## :bell: 블록 설명 :bell:

### 1. \[인공지능 실행 반복(img)] 블록

* 이 블록은 인공지능 모델이 실행되는 동안 **'ㄷ'** 모양 블록 내부에 작성된 블록들이 무한히 반복되도록 하는 기능을 제공합니다.
* **img 변수**: 이 변수는 현재 AI 카메라로 촬영된 이미지 데이터를 저장하는 변수입니다. 다른 이름의 변수를 사용할 수도 있지만, 항상 하나의 변수가 할당되어 있어야 합니다.

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2FQ8PQGYnikshGgMFT0iHi%2Fimage.png?alt=media&#x26;token=51990ef0-c6e2-4d2e-84aa-fab34b1d31bd" alt="" width="375"><figcaption><p>[인공지능 실행 반복(img)] 블록</p></figcaption></figure>

### 2. \[출력(항목)]블록

드롭다운 형태의 **\[출력]** 블록은 선택한 인공지능 모델에 따라 드롭다운 항목이 달라집니다. \[태그 인식] 모델에는 사각형, 인덱스, 태그정보가 제공됩니다.

<figure><img src="https://3075547475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmpoZH5TMk0ougpcCYECz%2Fuploads%2F35Up7obbs9GfB2vAX7oG%2Fimage.png?alt=media&#x26;token=44587fa4-981f-43b8-b7d1-d62d1ca1448d" alt="" width="289"><figcaption></figcaption></figure>

* <mark style="color:purple;">**출력(사각형)**</mark> 블록은 학습된 태그가 인식되면, 해당 태그 위에 사각형을 그릴 수 있는 데이터를 반환합니다. 여러 개의 학습된 태그 데이터가 동시에 인식되면, 디스플레이 중앙에서 가장 가까운 태그의 사각형 데이터를 반환합니다.
* <mark style="color:purple;">**출력(인덱스)**</mark> 블록은 학습된 태그가 인식되면, 해당 태그가 몇 번째 ID 로 학습된 데이터인지 반환합니다. 여러 개의 학습된 태그 데이터가 동시에 인식되면, 디스플레이 중앙에서 가장 가까운 태그의 인덱스를 반환합니다.
* <mark style="color:purple;">**출력(태그 정보)**</mark> 블록은 학습된 태그가 인식되면, 해당 태그의 고유 ID를 반환합니다.
