2016-07-12 6 views
1

Пример Цель:
enter image description here
Источник: zone.ni.comСоздать относительную сетку точек из абсолютных точек в изображении

С целью калибровки, как на изображении выше, я нашел в центре каждого круг на цель. У меня есть координаты центра каждого центра окружности (например, (583, 120)). Теперь мне нужно создать сетку из этих центров кругов. Таким образом, первый центр окружности будет (0,0), а центр круга справа от первого будет равен (0,1) < - (строка, col-формат для python), а центр круга ниже первого be (1,0). Проблема, с которой я сталкиваюсь, заключается в том, что цель калибровки может быть наклонена в любом направлении и в углу, поэтому центр кругов не будет находиться в тех же строках или одинаковых столбцах на изображениях (например, центральный круг 1 может находиться в (100, 150) и центральной окружности 2, хотя рядом с ним находится (115, 200), поэтому они не находятся в одной строке на изображении). Фактическая цель калибровки имеет окружности, распределенные на равные расстояния друг от друга, но из-за угла калибровочной цели относительно датчика они не будут отображаться на равном расстоянии от изображения. Я пишу этот код в python. Если у кого-то есть представление о том, как это сделать (не ищи кого-то писать код, просто отправьте меня в правильном направлении), пожалуйста, дайте мне знать.

EDIT: Я не хочу делать аффинное преобразование. Я пытаюсь найти точечные соответствия точек в изображении цели в реальном мире.

+0

Если вы хотите, чтобы исправить наклон по отношению к камера, вы ищете аффинное преобразование ... – Aaron

+0

Я также большой поклонник преобразований Фурье, чтобы найти регулярные массивы объектов в пространстве ... – Aaron

ответ

1

Вы используете openCV? в любом случае тема, которую вы, возможно, захотите заглянуть, - это Affine Transforms Хотя ссылка на Python OpenCv специфична, сама тема не является.

Фактически вы можете завершить преобразование, используя только 4 балла. Эти точки могут быть получена путем определения прямоугольной ограничительной рамки, здесь другой подобный SO вопроса OpenCV C++/Obj-C: Detecting a sheet of paper/Square Detection его в C++, но опять идеи подобны

Надеются, что это помогает