Обнаружение черного края и подгонка к нему кривой сплайна.
Из этого сплайна вы сможете рисовать нормали и регулярно отмечать точки вдоль него.Это формирует (u, v) сетку, которую легко выпрямить.
Чтобы вычислить целевое изображение, нарисуйте горизонтальные строки, которые соответствуют определенным нормалам в источнике.Тогда выборка по горизонтали соответствует некоторым дробным (x, y) координатам в источнике.Вы можете выполнить билинейную интерполяцию вокруг соседних пикселей, чтобы добиться хорошего качества передискретизации.