OCR форумы Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Всем привет!
Hi all!
 
  ГлавнаяСправкаПоискВходРегистрация Администратор Библиотека  
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать
Про OCR немудреным языком (для народа) (Прочитано 8781 раз)
kamenkapenza
Активист
***
Вне Форума


ВСЕМ ПИРИВЕТ!!!

Сообщений: 353
Череповец и Каменка Пензенская
Пол: male
Про OCR немудреным языком (для народа)
11.01.2019 :: 13:44:18
 
Отцы! Что такое OCR? Что оно даёт? Обязательно ли оно?  Ужас
Остальные вопросы задам после получения ответов на предыдущие.
Наверх
 

Очень люблю советскую периодику и советские книги, в том числе энциклопедии, справочники, книжные серии, собрания сочинений и всё, всё, всё...
 
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #1 - 01.02.2019 :: 00:42:19
 
Так уж и быть, раз уж это OCR-форум.

1. Определение и смысл

OCR (Optical character recognition) --- т. е. это распознавание буковок на фотографии (скане) и перевод их в текстовый формат. Если у вас есть книга, то человек буквы в ней распознает с помощью мозга, а компьютер может распознать только отсканированную (или сфотографированную) книгу (слово "оптический" именно это и означает) с помощью программ. Наиболее популярная программа для Windows, которая это делает, называется FineReader (далее
FR
), есть еще ряд программ,  например, tesseract, СuneiForm, и многие другие, Google Вам в помощь.


2. Для чего это нужно

Для того, чтобы djvu/pdf книга была удобна в использовании, и имела даже некоторые преимущества по сравнению со своим бумажным оригиналом !!!очень важно сделать!!!:
    • внедрение в файлы распознанного текста под картинку, для быстрого поиска нужного слова/предложения;
    • внедрение дерева оглавления (букмаков), для быстрой навигации.


3. Чем это делать

Для распознавания, я рекомендую использовать FR12, так как он:
    • умеет работать непосредственно с форматом djvu/pdf (как читать их, так и сохранять);
    • он каким-то чудом умеет работать из командной строки, что упрощает автоматизацию процесса.

4. Как это делать

    • Скормить FR свой файл book.djvu, после распознания сохранить в другой, скажем book_OCR.djvu-файл
    • Пересадить душу OCR-слой  из book_OCR.djvu с помощью FR11 DjVu Text Layer Crutch v0.3 в исходный.

============== Здесь остановитесь, и подумайте, стоит ли вам дальше читать ==============

5. Как это автоматизировать 

Например, используя скрипт (windows batch), можно легко автоматизировать распознавание Tiff/Djvu/Pdf.
Для примера, возьмем формат djvu.

Предположим, у нас есть НЕ распознанный файл
book.djvu
(для демонстрации взято 10 страниц) .

Круглые глаза --> Видео автоматического процесса распознавания <-- Круглые глаза

Вмешательство человека нужно для того, чтобы позакрывать все GUI FR. Но и это можно перепоручить скрипту, добавив в конец командной строки FR ключ /quit, тогда во время работы скрипта вообще можно отойти от компьютера и заняться другими делами, например, зарядкой для глаз!

После автоматической отработки скрипта на выходе имеем исходный
djvu
-файл с внедренным OCR-слоем.

Кроме того, в папке также присутствует файл
book_OCR.djvu
, который был создан FR. Именно из этого файла извлекся OCR-слой в файл
book.djvu_ocr.dsed
.


6. Про работу скрипта в нескольких словах

  • FR запускается и затягивает book.djvu в виде ч/б картинок и распознает их;
  • FR сохраняет book_OCR.djvu с внедренным OCR (он это умеет);
  • book_OCR.djvu чистится с помощью FR11 DjVu Text Layer Crutch v0.3;
  • djvused извлекает из
    book_OCR.djvu
    текстовый файл
    book_OCR.djvu_ocr.dsed
    в кодировке utf-8 с координатами и самим текстом;
  • book_OCR.djvu_ocr.dsed
    еще чистится с помощью sed от записей, которые содержат название файлов, из которых склеен djvu;
  • book_OCR.djvu_ocr.dsed
    внедряется в исходный
    book.djvu
    с помощью того же djvused.

Кому интересно, batch-скрипт можно скачать ---> здесь <---

Все упомянутые утилиты командной строки можно брать на соответствующих сайтах,  и прописывать пути к ним в переменной PATH

Примечания


Примечание 1.
Скрипт удобно запускать из-под Total Commander.


Примечание 2.
Файл
book_OCR.djvu
создался самим FR, он не оптимальный с точки зрения сжатия, и нужен был лишь для извлечения из него слоя, после всего его можно удалить. Можно, конечно, и в скрипте прописать его удаление, что б глаза не мусолил, но я решил его пощадить для потомков. Кроме того, если исходный djvu есть цветным, то FR-овский book_OCR.djvu может быть и ч/б, так как для распознания цвет не важен.


Примечание 3.
Для автоматизации также можно думать в сторону tesseract, так как он естественно работает из командной строки без всяких GUI (в отличие от FR), в сети даже есть рецепты, как создавать dsed-файлы для внедрения.


Примечание 4.
Как делать дерево оглавления, в сети информация есть, смотрите сайт http://djvu-spec.narod.ru/ в сторону программы PDF & DJVU Bookmarker .


Примечание 5.
Все ИМХО убраны цензурой.
Наверх
« Последняя редакция: 01.02.2019 :: 09:46:56 от sergiokapone »  
 
IP записан
 
m7876
Постоялец
**
Вне Форума



Сообщений: 104
Re: Про OCR немудреным языком (для народа)
Ответ #2 - 01.02.2019 :: 06:44:29
 
> Предположим, у нас есть НЕ распознанный файл book.djvu
Запускаем:
$ ocrodjvu -j 4 -l rus --in-place book.djvu
Ждем немного. Готово.
(Разумеется, нужно установить ocrodjvu и еще tesseract, со всеми языковыми пакетами).
Наверх
 
 
IP записан
 
AAW
Патриарх
*****
Вне Форума


Старую детскую и НП литературу
ничем не заменить

Сообщений: 5431
Екатеринбург
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #3 - 01.02.2019 :: 07:13:23
 
"страшно далеки они от народа" (с)
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #4 - 01.02.2019 :: 08:53:39
 
m7876 писал(а) 01.02.2019 :: 06:44:29:
> Предположим, у нас есть НЕ распознанный файл book.djvu
Запускаем:
$ ocrodjvu -j 4 -l rus --in-place book.djvu
Ждем немного. Готово.
(Разумеется, нужно установить ocrodjvu и еще tesseract, со всеми языковыми пакетами).


Жалко, что ocrodju не портирован на windows, тогда можно было бы обойтись без промежуточного book_OCR.djvu, а так приходится. tesseract, кстати, портирован
Наверх
« Последняя редакция: 01.02.2019 :: 09:42:02 от sergiokapone »  
 
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #5 - 01.02.2019 :: 09:22:20
 
AAW писал(а) 01.02.2019 :: 07:13:23:
"страшно далеки они от народа" (с)


Для народу читать лишь до 4-го пункта включительно.
Наверх
 
 
IP записан
 
sad369
Гуру
****
Вне Форума


Всем привет!

Сообщений: 945
Re: Про OCR немудреным языком (для народа)
Ответ #6 - 01.02.2019 :: 19:16:04
 
Цитата:
Для народу читать лишь до 4-го пункта включительно.

От имени народа поддерживаю! Кстати, можно ФР11 вместо 12 версии использовать. Тоже с дежавю умеет работать. Стоит еще упомянуть, что в ФР надо сильно уменьшить качество картинок, ибо для текстового слоя они не нужны, а процесс значительно ускорится. Примечание 4 надо сделать в виде п.5 тем же шрифтом, что подчеркнет важность этой операции.
Наверх
 
 
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #7 - 01.02.2019 :: 19:47:28
 
sad369 писал(а) 01.02.2019 :: 19:16:04:
Стоит еще упомянуть, что в ФР надо сильно уменьшить качество картинок, ибо для текстового слоя они не нужны, а процесс значительно ускорится.


Вы предлагаете еще и с картинками часами возиться ради лишних 5 минут компьютерного времени? Нет уж, лучше все автоматически, мне нужна зарядка для глаз и подольше, а то что-то зрение в последнее время балуется. Только автоматизация и роботизация производственного процесса.
Наверх
 
 
IP записан
 
sad369
Гуру
****
Вне Форума


Всем привет!

Сообщений: 945
Re: Про OCR немудреным языком (для народа)
Ответ #8 - 01.02.2019 :: 20:19:45
 
Разумеется, автоматически. При автоматическом распознавании ФР определяет текст и картинки. Просто в настройках ФР надо поставить низкое качество картинок. Кажется, у меня 20 или 30 % стоит. И экономия не в 5 минут, а гораздо существеннее.
Наверх
 
 
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #9 - 01.02.2019 :: 20:29:46
 
sad369 писал(а) 01.02.2019 :: 20:19:45:
Разумеется, автоматически. При автоматическом распознавании ФР определяет текст и картинки. Просто в настройках ФР надо поставить низкое качество картинок. Кажется, у меня 20 или 30 % стоит. И экономия не в 5 минут, а гораздо существеннее.


А, я понял о чем Вы. ФР12 нужно настроить. Настроить как на картинках:
.........
Наверх
« Последняя редакция: 01.02.2019 :: 20:52:15 от sergiokapone »  
 
IP записан
 
sad369
Гуру
****
Вне Форума


Всем привет!

Сообщений: 945
Re: Про OCR немудреным языком (для народа)
Ответ #10 - 01.02.2019 :: 20:40:08
 
На вкладке "сохранить" качество картинок - пользовательское.
Наверх
 
 
IP записан
 
Dmitry7
Модератор
*****
На Форуме


Соберем Серии "НВЖНиТ"!

Сообщений: 5871
Санкт-Петербург
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #11 - 01.02.2019 :: 21:15:28
 

sergiokapone писал(а) 01.02.2019 :: 20:29:46:
--> Видео автоматического процесса распознавания <--


Видео можно вставлять с тегом [ media ]

Видео автоматического процесса распознавания
Наверх
 

"Если хочешь сделать что-то хорошо, сделай это сам!"
332371574  
IP записан
 
m7876
Постоялец
**
Вне Форума



Сообщений: 104
Re: Про OCR немудреным языком (для народа)
Ответ #12 - 01.02.2019 :: 23:09:59
 
> Жалко, что ocrodju не портирован на windows
Его не нужно портировать, это модуль Python. См. гугл "как установить модуль Python под Windows"
Как вариант, поставить Ubuntu в виртуалку или даже использовать тот огрызок убунты, что встроен в Windows 10. (Обе фразы гуглятся).
> тогда можно было бы обойтись без промежуточного book_OCR.djvu
И вообще избавиться от всего этого проприетарного нагромождения. По моим наблюдениям, качество распознавания сравнимо, а иногда и лучше FR. Работает чуть медленнее, зато автоматически, и масштабируется на все имеющиеся процессоры. Позволяет регулировать кучу всего.
Для PDF, кстати, существует pdfsandwich.
Наверх
 
 
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #13 - 01.02.2019 :: 23:32:13
 
m7876 писал(а) 01.02.2019 :: 23:09:59:

Его не нужно портировать, это модуль Python. См. гугл "как установить модуль Python под Windows"
Как вариант, поставить Ubuntu в виртуалку или даже использовать тот огрызок убунты, что встроен в Windows 10. (Обе фразы гуглятся).


python у меня установлен (на Win 8.1, он без Ubuntu). Попробую в качестве эксперимента установить модуль. Хотя, скорее там будут какие-то зависимости. Ой, чувствую, еще тот конструктор получится.

m7876 писал(а) 01.02.2019 :: 23:09:59:
(Обе фразы гуглятся).

Да разве только эти фразы, гуглится все...  Смех

m7876 писал(а) 01.02.2019 :: 23:09:59:

И вообще избавиться от всего этого проприетарного нагромождения. По моим наблюдениям, качество распознавания сравнимо, а иногда и лучше FR. Работает чуть медленнее, зато автоматически, и масштабируется на все имеющиеся процессоры. Позволяет регулировать кучу всего.


Неплохо, конечно бы, избавится от FR, но он и GUIвый и через ком строку можно, и не конструктор, да и народ, как правило, побаивается делать что-то через ком строку, большинству GUI привычно.

m7876 писал(а) 01.02.2019 :: 23:09:59:

Для PDF, кстати, существует pdfsandwich.


Спасибо за инфу.
Наверх
« Последняя редакция: 01.02.2019 :: 23:52:16 от sergiokapone »  
 
IP записан
 
AAW
Патриарх
*****
Вне Форума


Старую детскую и НП литературу
ничем не заменить

Сообщений: 5431
Екатеринбург
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #14 - 02.02.2019 :: 06:13:01
 
Цитата:
Ой, чувствую, еще тот конструктор получится

угу. не выходит. зависимости уходят в модули на чистом Си.
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
sergiokapone
Постоялец
**
Вне Форума



Сообщений: 122
Пол: male
Re: Про OCR немудреным языком (для народа)
Ответ #15 - 02.02.2019 :: 12:03:12
 
А еще заметил серьезный минус tesseract --- это скорость, он слишком медлен в сравнении с FR.
Наверх
 
 
IP записан
 
m7876
Постоялец
**
Вне Форума



Сообщений: 104
Re: Про OCR немудреным языком (для народа)
Ответ #16 - 03.02.2019 :: 23:51:36
 
Но его можно очень эффективно распараллелить.
Наверх
 
 
IP записан
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать