2

порядка точек возвращенных CV-СКЛС detectCheckerboardPoints определяется в документации: enter image description hereПорядка пунктов возвращенных detectCheckerboardPoints

Числа первого увеличение вдоль короткой стороны шахматной доски, а затем вдоль длинной стороны. Но как точно определяется начало? Это должно быть в углу шахматной доски, которая оставила бы 4 варианта. Если мы заявляем, что на внешней стороне происхождения должен быть черный квадрат, у нас все еще есть 2 варианта.

Теперь посмотрит на этих двух снимках, сделанных из той же шахматной доски с разными камерами и результата detectCheckerboardPoints нанесен на них: enter image description here

Как мы видим, происхождение находится в левом верхнем углу в левое изображение, поддерживающее возможность внешнего черного квадрата (квадраты кажутся инвертированными на обоих изображениях). Мы также видим, что нумерация для обоих изображений довольно различна. Если бы я хотел рассчитать калибровку стереокамеры или регистрацию изображения, мне нужны соответствующие пары точек. Поэтому я думаю, что мой вопрос двоякий:

  1. Как точно определяется порядок точек изображения, возвращаемых определениями CheckCheckboardPointPoints? Сколько вариантов есть?
  2. Как убедиться, что я получаю соответствующие пары точек при запуске detectCheckerboardPoints для двух изображений одной шахматной доски?

ответ

1

Если у вас асимметричная шахматная доска, где одна сторона имеет четное число квадратов, а другое нечетное, то есть только один способ установить начало координат так, чтобы квадрат вне него был черным, длинная сторона ось X, ось X указывает вправо, а ось Y указывает вниз. Это приводит к правильной системе координат, при этом ось Z указывает на плату.

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

В вашем конкретном случае у вас есть проблема, так как цвета квадратов меняются на ИК-изображение. Это приведет к тому, что порядок обнаруженных точек будет отличаться. Если вы хотите откалибровать эти две камеры в качестве стереопары, вам необходимо либо изменить настройки ИК-камеры, чтобы изменить интенсивность изображения, либо сделать это самостоятельно программно, прежде чем откалибровать.

+1

Действительно, если мы определяем оси, как указано вами, а черный квадрат должен быть вне начала координат, есть только одна возможность - я проверил код Mathworks, они действительно убеждаются, что внешний квадрат черный. Что касается точечного сопоставления: либо вам нужно убедиться, что ваша доска асимметрична, а черные квадраты кажутся черными в обоих модальностях (как вы сказали), или вы можете написать метод, накладывающий точки в правильном порядке, используя ориентацию определенных x и ось y, чтобы определить соответствующее происхождение. – user1809923

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

  • Нет связанных вопросов^_^