Интерфейсный объект для калибровки камеры и коррекции дисторсии.
Подробнее...
#include <CameraCalibrator.h>
Интерфейсный объект для калибровки камеры и коррекции дисторсии.
void pbio::CameraCalibrator::addImage |
( |
const RawImage |
image, |
|
|
bool * |
pattern_found, |
|
|
bool * |
pattern_accepted, |
|
|
std::vector< Point > * |
pattern_points |
|
) |
| |
|
inline |
Поиск калибровочного шаблона на изображении и его сохранение.
- Аргументы
-
[in] | image | Изображение или кадр видео. |
[out] | pattern_found | Шаблон был найден. Может принимать значение NULL. |
[out] | pattern_accepted | Шаблон был принят (т.е. он достаточно отличается от уже принятых шаблонов). Может принимать значение NULL. |
[out] | pattern_points | Точки найденного шаблона. Может принимать значение NULL. |
bool pbio::CameraCalibrator::calibrate |
( |
const int |
max_used_patterns_count, |
|
|
float * |
reprojection_error |
|
) |
| |
|
inline |
Калибровка камеры.
- Аргументы
-
[in] | max_used_patterns_count | Максимальное количество шаблонов для использования в расчетах. Если принято больше шаблонов, то будет выбрано подмножество, покрывающее пространство поз лучше всего. Рекомендуемое значение - 50. |
[out] | reprojection_error | Средняя ошибка репроекции. Нормальное значение - около 1 или меньше. |
- Возвращает
- true, если калибровка выполенена успешно, иначе false.
float pbio::CameraCalibrator::getPatternSpaceCoverProgress |
( |
| ) |
const |
|
inline |
Оценка покрытия пространства поз калибровочного шаблона для более точной калибровки.
- Возвращает
- Вещественное число от 0 до 1.
std::vector< Point > pbio::CameraCalibrator::getTip |
( |
| ) |
|
|
inline |
Получить подсказку о требуемой позиции калибровочного шаблона на изображении для лучшего покрытия.
- Возвращает
- Пустой вектор, если подсказка не готова, или вектор точек шаблона-подсказки.
Инициализация процесса калибровки. Ранее принятые шаблоны будут удалены.
- Аргументы
-
[in] | settings | Настройки калибровки. |
void pbio::CameraCalibrator::loadCameraParameters |
( |
std::istream & |
binary_stream | ) |
|
|
inline |
Загрузить откалиброванные параметры. Формат платформонезависимый.
- Аргументы
-
[in] | binary_stream | Объект потока ввода. Поток файла (std::ifstream) необходимо открывать с флагом std::ios_base::binary. |
void pbio::CameraCalibrator::loadCameraParameters |
( |
pbio::stl_wraps::WrapIStream & |
binary_stream | ) |
|
|
inline |
Загрузить откалиброванные параметры. Формат платформонезависимый.
- Аргументы
-
[in] | binary_stream | Объект потока ввода. Поток файла (std::ifstream) необходимо открывать с флагом std::ios_base::binary. |
void pbio::CameraCalibrator::saveCameraParameters |
( |
std::ostream & |
binary_stream | ) |
const |
|
inline |
Сохранить откалиброванные параметры. Формат платформонезависимый.
- Аргументы
-
[out] | binary_stream | Объект потока вывода. Поток файла (std::ofstream) необходимо открывать с флагом std::ios_base::binary. |
void pbio::CameraCalibrator::saveCameraParameters |
( |
pbio::stl_wraps::WrapOStream & |
binary_stream | ) |
const |
|
inline |
Сохранить откалиброванные параметры.
- Аргументы
-
[out] | binary_stream | Объект потока вывода. Поток файла (std::ofstream) необходимо открывать с флагом std::ios_base::binary. |
Скорректировать дисторсию изображения, используя откалиброванные или загруженные параметры камеры.
- Аргументы
-
[in] | image | Изображение или кадр видео. Размер изображения может отличаться от размера, используемого для калибровки. Т.е. можно откалибровать камеру один раз, используя одно разрешение, и потом корректировать изображения от этой же камеры, используя любое другое разрешение. |
[in] | alpha | Вещественное число от 0 (результирующее изображение содержит только значимые пиксели (нет черных областей)) до 1 (все пиксели исходного изображения будут присутствовать в результирующем). Промежуточные значения дают промежуточный результат между этими двумя крайними случаями. |
- Возвращает
- Откорректированное изображение того же размера и типа, что и исходное изображение.