Что на самом деле означают значения данных искажения объектива a, b и c?

Недавно я просматривал решения для коррекции искажений объектива, и мне просто интересно, что на самом деле означают значения a, b и c. (Я использую Hugin/lensfun, я не знаю, являются ли это стандартными значениями или специфическими для этого программного обеспечения.) Я искал ответ, но не нашел ответа, настолько ли он сложен или абстрактен, что нет можно объяснить это просто?

Ответы (1)

с http://wiki.panotools.org/Lens_correction_model

Фактические параметры коррекции объектива a , b и c , которые используются для коррекции бочкообразной дисторсии, подушкообразной дисторсии и даже волнообразной дисторсии.

Параметры a и c управляют более сложными формами искажения. В большинстве случаев будет достаточно оптимизировать только параметр b , который хорошо исправляет нормальную бочкообразную и подушкообразную дисторсию.

Параметры линзовой дисторсии a , b и c соответствуют полиному третьей степени, описывающему радиальную дисторсию линзы:

r_src = (a * r_dest^3 + b * r_dest^2 + c * r_dest + d ) * r_dest

где r_dest и r_src относятся к нормализованному радиусу пикселя изображения (расстояние от центра). Идеальный объектив будет иметь a=b=c=0,0 и d=1,0 (d всегда = 1-(a+b+c)) который разрешается в r_src = r_dest

Обычные значения a , b и c ниже 1,0, в большинстве случаев ниже 0,01. Слишком высокие значения говорят о том, что вы выбрали неправильный тип объектива, например, «рыбий глаз» вместо прямолинейного или наоборот. Разумеется, это относится к абсолютным значениям, поскольку a , b и c могут быть как положительными, так и отрицательными (например, 4,5 и -4,5 считаются слишком высокими значениями).

Итак, ответ на мой вопрос заключается в том, что a, b и c не имеют внутреннего значения (например, a — это бочкообразная дисторсия), а скорее являются произвольными значениями в уравнении четвертой степени, которые оказались правильными для конкретного объектива. Предположительно опытным путем.