Есть задача: имеется куча ~350 отсканированных листов в виде PNG-файлов, причем отсканированных небрежно: каждый лист повернут на случайный угол в +/-15 градусов.Исходника для пересканирования нет. Исходник - техническая документация, то есть текст на белом фоне, Ч/Б рисунки, диаграммы, таблицы. Видны края листа (не везде).
Для дальнейшей обработки и печати нужно привести эти файлы в более человеческий вид. Одна из задачь - повернуть изображение так, чтобы "выровнять горизонт". Повернуть я могу через ImageMagic (утилита convert). Весь вопрос - на какой угол поворачивать.
Мне нужна утилита, которой бы скармливалось изображение, а она в ответ выдавала оценку, на какой угол изображение повернуто.
Вопрос: есть ли такая утилита, например, на базе библиотеки OpenCV? Если ее нет, насколько трудозатратно ее написать? Я сам OpenCV ни разу не щупал. Готов поковыряться, но нужно знать, реально ли с помощью OpenCV решить такую задачу?
Может быть, есть другие решения?
> Может быть, есть другие решения?http://www.imagemagick.org/api/shear.php#DeskewImage
+++"Командная строка не поместилась на полях, оставляю, как упражнение читателю."
> Есть задача: имеется куча ~350 отсканированных листов в виде PNG-файлов, причем отсканированных
> небрежно: каждый лист повернут на случайный угол в +/-15 градусов.
> Исходника для пересканирования нет. Исходник - техническая документация, то есть текст
> на белом фоне, Ч/Б рисунки, диаграммы, таблицы. Видны края листа (не
> везде).
> Для дальнейшей обработки и печати нужно привести эти файлы в более человеческий
> вид. Одна из задачь - повернуть изображение так, чтобы "выровнять горизонт".
> Повернуть я могу через ImageMagic (утилита convert). Весь вопрос - на
> какой угол поворачивать.
> Может быть, есть другие решения?ScanTailor пробовали?