2013-05-26 2 views
4

Есть ли у вас какие-либо идеи или рекомендации по калибровке камеры, когда количество выборок ограничено и находится внутри небольшой области изображения?Камерная калибровка с ограниченным набором изображений в OpenCV и C++

Вот некоторая дополнительная информация:

Я работаю над проектом, чтобы помочь инвалидам в использовании компьютера с их глазами. Есть кое-что, что вызывает у меня немного неприятностей, связанных с моей неопытности с OpenCV.

Камера установлена ​​на голову, выпуклость не плохая, но глазное яблоко выпукло и движется вращаться. Я планирую «сгладить» глаз, чтобы он двигался по плоскости. Очевидным выбором является калибровка камеры для устранения радиального искажения.

Во время процесса калибровки пользователь смотрит на углы сетки на экране. Моменты зрачка хранятся в матрице для каждой позиции во время калибровки. Таким образом, у меня есть изображение с точками, соответствующими ряду глазных поясов, когда вы смотрите на углы сетки на экране.

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

Проблема у меня в том, что камера статична, а положение глаз не меняется, поэтому я ограничен относительно того, сколько изображений я могу сгенерировать, так как диапазон поведений не так уж велик.

Я думаю о разделении сетки на более мелкие образцы шахматной доски, но все они будут в одном и том же маленьком регионе, поэтому я не уверен, насколько это полезно.

Спасибо!

+0

Просьба уточнить ваш конкретный вопрос более четко/явно. Помогает получить больше ответов. –

+0

Спасибо, теперь переписано, я надеюсь, что более ясно – Jorge

ответ

1

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

Когда вы откалибруете камеру в OpenCV, вы пытаетесь устранить радиальное и тангенциальное искажение, поэтому кажется, что этот процесс применяется для «сглаживания» круглого объекта. Однако радиальное искажение, введенное сферическим объективом , - это не то, с чем вы имеете дело. Вы обеспокоены тем, как объекты на сферическом объекте проецируются в ваше изображение.

Понятно, что модели будут выглядеть очень похожими, но дело в том, что вы не должны прикасаться к калибровке вашей камеры (которую вы должны делать в автономном режиме) во время калибровки вашей установки для испытуемого. Тот факт, что ваш «диапазон позиций» ограничен, присущ вашей проблеме и не может быть изменен обработкой изображений. Глаз, который вы снимаете, только заполняет поле зрения вашей камеры.

Лично я просто записал положение зрачка на 9 равномерно распределенных точек на экране и сопоставлял координаты экрана с координатами изображения многочлена второго порядка ученика. Это сводится к принятию первого члена Тейлора сферической проекции, который, вероятно, достаточно хорош, если движения глаз большие. Затем вы можете проверить предсказанные движения против второй калибровки с 16 вместо 9 очков.

Я предполагаю, что вы можете найти book on the topic для получения дополнительной информации.

Смежные вопросы