порядка точек возвращенных CV-СКЛС detectCheckerboardPoints определяется в документации: Порядка пунктов возвращенных detectCheckerboardPoints
Числа первого увеличение вдоль короткой стороны шахматной доски, а затем вдоль длинной стороны. Но как точно определяется начало? Это должно быть в углу шахматной доски, которая оставила бы 4 варианта. Если мы заявляем, что на внешней стороне происхождения должен быть черный квадрат, у нас все еще есть 2 варианта.
Теперь посмотрит на этих двух снимках, сделанных из той же шахматной доски с разными камерами и результата detectCheckerboardPoints нанесен на них:
Как мы видим, происхождение находится в левом верхнем углу в левое изображение, поддерживающее возможность внешнего черного квадрата (квадраты кажутся инвертированными на обоих изображениях). Мы также видим, что нумерация для обоих изображений довольно различна. Если бы я хотел рассчитать калибровку стереокамеры или регистрацию изображения, мне нужны соответствующие пары точек. Поэтому я думаю, что мой вопрос двоякий:
- Как точно определяется порядок точек изображения, возвращаемых определениями CheckCheckboardPointPoints? Сколько вариантов есть?
- Как убедиться, что я получаю соответствующие пары точек при запуске detectCheckerboardPoints для двух изображений одной шахматной доски?
Действительно, если мы определяем оси, как указано вами, а черный квадрат должен быть вне начала координат, есть только одна возможность - я проверил код Mathworks, они действительно убеждаются, что внешний квадрат черный. Что касается точечного сопоставления: либо вам нужно убедиться, что ваша доска асимметрична, а черные квадраты кажутся черными в обоих модальностях (как вы сказали), или вы можете написать метод, накладывающий точки в правильном порядке, используя ориентацию определенных x и ось y, чтобы определить соответствующее происхождение. – user1809923