1

Я пытаюсь понять логику алгоритма итеративного аппроксимации cv :: undisortPoints().OpenCV - cv :: undistortPoints() - описание итеративного алгоритма

Реализация доступна по адресу: https://github.com/Itseez/opencv/blob/master/modules/imgproc/src/undistort.cpp (строки 361-368).

Как я вижу это:

  • используя последний лучше угадали позиции пикселя (х, у), попытаться найти лучшее предположение, применяя инверсию «искажения в текущей лучшей догадкой», а также настроить пиксель позиция в отношении первоначального искаженного положения (x0, y0)
  • использования начального искажаются положение (x0, y0) в качестве первого «лучшего предположения»

Но выше на самом деле не сказать почему это можно сделать ...

Один из пользователей, разместивших (здесь: Understanding of openCV undistortion), что это своего рода «алгоритм нелинейного решения (например, .. Метод Ньютона, алгоритм Левенберга-Марквардт, и т.д.)»И от того, что я видел там, по крайней мере, несколько возможных решений такого рода undistorting проблемы


Вопросы:

  • Что итеративный алгоритм точно реализуется в Cv :: undistortPoints()?
    • есть ли белая бумага показывает (и [что более важно] объяснить «как я пять») идея позади него?
  • Как мы узнаем, что этот алгоритм будет сходиться (по крайней мере, до локального минимума)?
  • Зачем мы исправляем исходное положение (x0, y0)?

ответ

0

Он использует метод false position («регламент фальси»). Я не видел доказательства того, что последовательность сходится для этого конкретного уравнения, независимо от выбора параметров искажения (или даже для каждого выбора «физически правдоподобных» параметров). Было бы очень легко написать один для нескольких особых случаев, например. физическое чистое искажение ствола 2-го порядка.

На практике это работает хорошо. Если вам неудобно, вы всегда можете заменить решателем уравнения по вашему выбору. Для чистого радиального искажения любого порядка (т. Е. С одним неизвестным) вы можете использовать любой решатель уравнения многочлена, например. старый добрый SLATEC rpqr79.

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

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