В какой-то момент у вас будет возведение в дробную степень, меньшую единицы, что в результате дает комплексное число, а тангенс от комплексного числа неопределен, по крайней мере в модуле math. Но вы можете воспользоваться функцией tan из cmath, тогда ошибки не будет. :-)
Анализ гистограммы и дистанционное преобразование позволит удалить зведомо сильно искаженные символы.
Далее скелетизация и анализ остова.
Если деформации периодические, то тут уже надо анализировать не один кадр, всю последовательность.
Кстати, попробуйте усреднить последовательность по времени.
Александр Ананьев, более того: нет смысла его вычислять на интервале отличном от [0..pi/2]
pow(10, -15) это шедевр! ТС не умеет записать double с мантиссой и порядком. 1e-15
apiwi, так ты и обрезай исходник. Просто после обрезки и сохранения в png востанавливай исходный кропбокс из сохраненного и обрезай следующий фрагмент и т.д.
Это будет работать как команда Undo.
https://github.com/mahdisesmaeelian/Time-Warp-Scan...