Прямые Края, Изогнутые После Триангуляции OpenCV

#python #opencv #computer-vision

Вопрос:

Я работаю над проектом, использующим OpenCV для создания 3D-изображения из 2D-изображений. В настоящее время я просто работаю с 2 изображениями, чтобы упростить процесс.

Что меня смущает, так это то, что в настоящее время мои 4D-триангулированные точки, по-видимому, имеют некоторый смысл с моими точками совпадения. Несмотря на это, есть некоторые точки, которые находятся на прямых поверхностях, которые отображаются на изогнутые линии. Есть ли для этого причина? Я предполагаю, что это потенциально может быть связано с тем, что объект в этих точках находится относительно далеко от камеры, что, как я полагаю, снизит точность изображения. Верна ли эта интуиция, и если я сделаю больше снимков, разрешится ли эта проблема в конечном итоге? Что также интересно, так это то, что когда я перепроектирую 4D-точки обратно в 3D, они больше не изогнуты.

Ниже приведены мои изображения, показывающие координатную ось, совпадающие точки, 4D-реконструкцию, а затем повторно спроецированные 3D-результаты

Изображение с левой камеры с координатными осями
Изображение правой камеры с координатными осями
Совпадающие Точки Между Изображениями
Триангулированные 3D точки

Трехмерные триангулированные точки имеют для меня некоторый смысл. Я предполагаю, что изогнутая поверхность является передней частью аквариума.Капля, которая находится почти вдоль отрицательной оси x и имеет отрицательные координаты z, находится из бутылки. Остальные точки, по-видимому, относятся к шахматной сетке/шуму.

Комментарии:

1. Вы исправили изображения для удаления?

2. @Nikita Да, я использовал cv.undistortPoints() для удаления искажений с изображений перед триангуляцией

3. О, понял. Вы хотите построить навигационную систему?