# Настройка камеры
> **Note** Документация для версий [образа](image.md), начиная с **0.20**. Для более ранних версий см. [документацию для версии **0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/camera_frame.md).
Для корректной работы всех функций, связанных с компьютерным зрением (в том числе [полета по ArUco-маркерам](aruco.md) и [Optical Flow](optical_flow.md)) необходимо сфокусировать основную камеру, а также выставить ее расположение и ориентацию. Улучшить качество работы также может опциональная калибровка камеры.
## Настройка фокуса камеры {#focus}
Для успешного осуществления полетов с использованием камеры, необходимо настроить фокус камеры.
1. Откройте трансляцию изображения с камеры используя [web_video_server](web_video_server.md).
2. С помощью вращения объектива камеры добейтесь максимальной резкости деталей (предпочтительно на расстоянии предполагаемой высоты полета – 2–3 м).
|Расфокусированное изображение|Сфокусированное изображение|
|-|-|
|
|
|
## Настройка расположения камеры {#frame}
Расположение и ориентация камеры [задается в файле](cli.md#editing) `~/catkin_ws/src/clover/clover/launch/main_camera.launch`:
```xml
```
Для того, чтобы задать ориентацию, необходимо установить:
* направление обзора камеры `direction_z`: вниз (`down`) или вверх (`up`);
* направление, в которое указывает шлейф камеры `direction_y`: назад (`backward`) или вперед (`forward`).
### Примеры
#### Камера направлена вниз, шлейф назад
```xml
```
#### Камера направлена вниз, шлейф вперёд
```xml
```
#### Камера направлена вверх, шлейф назад
```xml
```
#### Камера направлена вверх, шлейф вперёд
```xml
```
> **Hint** [Утилита `selfcheck.py`](selfcheck.md) выдает словесное описание установленной в данной момент ориентации основной камеры.
### Произвольное расположение камеры
Также возможны произвольное расположение и ориентация камеры. Для этого раскомментируйте запуск ноды, подписанной как `Template for custom camera orientation`:
```xml
```
Эта строка задает статическую трансформацию между фреймом `base_link` ([соответствует корпусу полетного контроллера](frames.md)) и камерой (`main_camera_optical`) в формате:
```txt
сдвиг_x сдвиг_y сдвиг_z угол_рысканье угол_тангаж угол_крен
```
Фрейм камеры задается таким образом, что:
* **x** указывает направо на изображении;
* **y** указывает вниз на изображении;
* **z** указывает от плоскости матрицы камеры.
Сдвиги задаются в метрах, углы задаются в радианах. Корректность установленной трансформации может быть проверена с использованием [rviz](rviz.md).
## Калибровка {#calibration}
Для улучшения качества работы алгоритмов также рекомендуется произвести калибровку камеры, процесс которой описан [в отдельной статье](camera_calibration.md).