LINUX.ORG.RU

OpenCV - утилита для автовращения картинки на +/-15 градусов

 


0

2

Есть задача: имеется куча ~350 отсканированных листов в виде PNG-файлов, причем отсканированных небрежно: каждый лист повернут на случайный угол в +/-15 градусов.

Исходника для пересканирования нет. Исходник - техническая документация, то есть текст на белом фоне, Ч/Б рисунки, диаграммы, таблицы. Видны края листа (не везде).

Для дальнейшей обработки и печати нужно привести эти файлы в более человеческий вид. Одна из задачь - повернуть изображение так, чтобы «выровнять горизонт». Повернуть я могу через ImageMagic (утилита convert). Весь вопрос - на какой угол поворачивать.


Мне нужна утилита, которой бы скармливалось изображение, а она в ответ выдавала оценку, на какой угол изображение повернуто.


Вопрос: есть ли такая утилита, например, на базе библиотеки OpenCV? Если ее нет, насколько трудозатратно ее написать? Я сам OpenCV ни разу не щупал. Готов поковыряться, но нужно знать, реально ли с помощью OpenCV решить такую задачу?

Может быть, есть другие решения?

Перемещено mono из development

★★★★★

Плюсую Scantailor, сам им обрабатываю сканы. Он выравнивает, убирает шум и пр. Отличная штука, пакетная обработка есть, указываешь каталог и запускаешь нужную тебе операцию.

hippi90 ★★★★ ()

Для случая текста на белом фоне - в целом несложно.

Можно попробовать

  • Морфологической операцией с прямоугольным (вширь) ядром нарастить строки текста до толстых линий
  • Всё дело как-нибудь бинаризировать
  • Посчитать (например) гистограммы ориентированных градиентов и по ним (по доминирующему направлению) сделать вывод об угле поворота:

http://saturday.csail.mit.edu:8080/show/332704056541

yoghurt ★★★★★ ()
Последнее исправление: yoghurt (всего исправлений: 1)

задачь

Аккуратней пожалуйста...

Stahl ★★☆ ()

что это делает в девелопменте, когда должен быть desktop? mono

next_time ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.