# Съемка изображений на камеру ТРИК и использование их в TRIK Studio

{% hint style="danger" %}
**Внимание!** Данная функциональность находится в тестовом режиме. Для её использования необходимо установить [тестовую версию прошивки](https://dl.trikset.com/distro/testing/trik-image-core-trikboard-20200219175703.rootfs.img.xz). Будем рады вашим отзывам и предложениям по данной функциональности. Пишите в службу [поддержки](https://trikset.com/support) с примечанием «Тест работы с изображениями в TRIK Studio».
{% endhint %}

Разработка алгоритма в неизменных условиях позволяет быстрее его отладить и протестировать, а также оценить и сравнить качество работы алгоритма и его модификаций. Это особенно важно для алгоритмов компьютерного зрения, когда любое, даже малое, движение камеры значительно меняет условия съемки и, как результат, захваченное изображение.

В данной статье будет рассказано как снять изображения на камеру контроллера ТРИК, выгрузить эти данные на компьютер и использовать их в TRIK Studio для разработки и отладки алгоритмов компьютерного зрения.

{% hint style="info" %}
**Датасеты&#x20;ARTag 5x5**

Программы распознавания маркеров ARTag можно совершенствовать и тестировать в TRIK Studio на [датасете](https://dl.trikset.com/trikset-help/ARTags.zip) (см. шаг 3). Он включает в себя фото маркеров ARTag 5x5 с различных ракурсов на стандартную камеру контроллера ТРИК. Название каждой из папок в датасете — это число, которое закодировано на маркерах ARTag, лежащих в данной папке.
{% endhint %}

## **Съемка изображений на контроллере ТРИК**

{% hint style="warning" %}
**Внимание!** Подключите камеру в порт «video2» до включения контроллера.
{% endhint %}

1\. В меню контроллера выберите пункт`Тестирование → Камера`.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M14gaPPT39kTkPgmfZR%2F-M14nQ3f6QzWBuCarCPS%2Ftrik-menu-test-camera.png?alt=media\&token=9e2e88b5-bb9e-4ca9-b21c-d7fec3a23990)

2\. На экране отобразится изображение, снятое на камеру. Оно будет сохранено во внутреннюю память контроллера.&#x20;

![Пример полученного изображения с маркером ARTag](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M14gaPPT39kTkPgmfZR%2F-M14nlF2mHzK4sdq3J3e%2Ftrik-screen-photo.jpg?alt=media\&token=9b150d99-32ed-4b8f-a4bc-449b8dbb986a)

Для того чтобы сделать ещё фотографии, необходимо нажать на контроллере кнопку «Выход» (крестик) и вновь выбрать пункт меню `Камера`.&#x20;

Выгрузка изображений через веб-интерфейс ТРИК

1\. Подключите контроллер ТРИК к компьютеру.

{% content-ref url="../wi-fi/network-connection" %}
[network-connection](https://help.trikset.com/trik/wi-fi/network-connection)
{% endcontent-ref %}

2\. В адресной строке браузера введите IP-адрес контроллера. Откроется веб-интерфейс ТРИК.

{% content-ref url="../web-interface" %}
[web-interface](https://help.trikset.com/trik/web-interface)
{% endcontent-ref %}

3\. Перейдите на вкладку «Images» и нажмите «Download all», чтобы скачать архив с изображениями.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M14gaPPT39kTkPgmfZR%2F-M14ob7B_7xrsiksT-ae%2Ftrik-web-pnl-images.png?alt=media\&token=3cc208df-20d6-4f58-94f8-951d364794fa)

4\. Перейдите в папку со скаченным архивом и разархивируйте его. Теперь вы можете отобрать те изображения, которые лучше всего подходят для разработки и тестирования текущего алгоритма.

Использование изображений в TRIK Studio

1\. Откройте в TRIK Studio настройки робота.

{% content-ref url="../../studio/interface/faq-robot-settings" %}
[faq-robot-settings](https://help.trikset.com/studio/interface/faq-robot-settings)
{% endcontent-ref %}

2\. В открывшемся окне выберите `Модель робота → 2D-модель` и пропишите путь к загруженным ранее изображениям.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M14gaPPT39kTkPgmfZR%2F-M14raS34dSta9z_0WPz%2Fts-settings-robots-camera.png?alt=media\&token=40af58f1-7090-41d4-884c-25b275d5ea4e)

3\. Теперь при вызове **getPhoto** будут последовательно подгружаться изображения из указанной папки. &#x20;

{% content-ref url="../programming-code/function-getphoto" %}
[function-getphoto](https://help.trikset.com/trik/programming-code/function-getphoto)
{% endcontent-ref %}

{% hint style="info" %}

Не забывайте пользоваться функциями для рисования графических примитивов ([drawRect](https://help.trikset.com/programming-code/object-brick/class-display#drawrect), [drawLine](https://help.trikset.com/programming-code/object-brick/class-display#drawline), [drawPoint](https://help.trikset.com/programming-code/object-brick/class-display#drawpoint) и т.п) и функцией [show](https://help.trikset.com/programming-code/object-brick/class-display#show) для ускорения процесса разработки и отладки алгоритмов обработки изображений.
{% endhint %}

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M14gaPPT39kTkPgmfZR%2F-M14tvW3a6roj92oRpi7%2Fscreen_record_2.gif?alt=media\&token=82553731-dc0f-4ac5-a9f5-a64ac8ddfcee)

Пример программы

{% hint style="info" %}
Пример программы, которая последовательно выводит на экран изображения, подгружаемые из указанной папки, с задержкой в 2 секунды.
{% endhint %}

1\. [Скачайте](https://drive.google.com/open?id=1B-OcmMpYiCu5iMWoJRawnvL54F-MhHp7) файл на компьютер или создайте новый проект и скопируйте код:

```javascript
var main = function()
{   
    var msCount = 2000;
    for (var i = 0; i< 5; i++) { // вывести последовательно на экран контроллера 5 изображений   	 
   	 brick.display().show(getPhoto(), 160, 120, "rgb32");
   	 brick.display().redraw();
   	 script.wait(msCount);   	 
    } 
	return;
}
```

2\. Запустите код в режиме отладки, используя в качестве режима исполнения программы [двумерную модель](https://help.trikset.com/studio/2d-model). На дисплее контроллера будут последовательно выводиться изображения.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M14gaPPT39kTkPgmfZR%2F-M14tyYB4Qimp34Ni25L%2Fscreen_record_1.gif?alt=media\&token=da48d0cb-1e21-4a69-874c-50d6eb2a95dc)
