Руководство по удалению мусора из видеобуфера

ВложениеРазмер
Иконка простого текстового файла Rip.snagprof.txt57.98 КБ

Допустим вы скачали книгу на Публиканте, а она оказалась в exe.Book, и её нельзя читать на любимом КПК. Что же делать?

Это руководство - лишь пример набора действий для конечного пользователя. Разумеется, автор и ресурс в целом никакой ответственности не несут :), всё опубликовано в познавательно-образовательных целях (а кто-то подумал иначе?) и для удовлетворения моих графоманских наклонностей написания мануалов.

Всё, что нам нужно, это:
1. Программа автоматизированного снятия скриншотов. Например, SnagIt (для него у меня есть готовый конфиг).
2. AutoIt - одна из лучших программ для автоматизации любых действий в Windows. Почему я не скомпилировал в exe - ниже.
3. Собственно, OCR-система. Хотя если у вас крупноформатное читало, то можно и без неё.

Итак, ставим программу для снятия скриншотов. В настройках выставляем паузу на снятие скриншота, например, 5 секунд; включаем автоматическое сохранение в файл и выключаем вывод в окно программы (и вылезание окна программы на передний план). Разумеется, отключаем захват курсора мыши.
Для тех, кто юзает SnagIt есть готовые настройки. У файла Rip.snagprof.txt. Нужно поправить путь сохранения.
Перед запуском для снятия скриншотов выгружаем всё, особенно антивирусники, всякие фоновые дефрагментаторы и оптимизаторы, а также скринсейверы и любые программы, которые умеют выводить всплывающие подсказки.

Ставим AutoIt. Для него есть готовый скрипт, позже я его доработаю и попробую сделать самостоятельную программу (к сожалению в программировании с GUI под винду я практически полный ноль). Его нужно слегка адаптировать под имеющуюся книгу.
Чтобы точно ввести заголовок, нужно запустить Au3Info.exe из папки с AutoIt и перетащить "прицел" на интересующее окно. В поле "Title" будет интересующее нас значение.
Чтобы узнать количество разворотов, нужно промотать книгу до конца и разделить номер последней станицы пополам. Просто, не правда ли :) Ну, если по одной странице на разворот, то ничего делить не надо.

~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=rip.au3=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
;
; AutoIt Version: 3.0
; Language:       Russian
; Platform:       Win9x/NT
; Author:         Rogue
;
; Script Function:
;   Эмулирует листание страниц во время снятия скриншотов (например, SnagIt).
;
; ;
; Количество разворотов страниц
Dim $spread = 100
; Заголовок окна
Dim $title = "Аццкое книжко - exeBook"
; Задержка в миллисекундах
Dim $pause = 5000
;
Opt("WinTitleMatchMode", 4)
For $i = 1 To $spread Step 1
    WinWait($title,"")
    ControlClick($title,"","WCExeBook0")
    Send("{DOWN}")
    Sleep($pause)
Next
Send("^P")
MsgBox(0,"", "All done!")
~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=

Теперь самое сложное - синхронизировать работы двух программ. Именно поэтому я советую выгружать всё из фона.
Открываем книгу и командную строку "Выполнить...", из которой запустим скрипт. Строку отодвигаем, чтобы она не загораживала книгу. Запускаем программу снятия скриншотов, далее на примере SnagIt. Делаем первый скриншот, где ему указываем окно, сразу после захвата переключаемся на командную строку, жмём Enter и возвращаем фокус окну с книгой. Убеждаемся, что всё работает и идём по своим делам, возвращаемся примерно через ($spread*$pause)/60 минут.

Если книга не влезает на экран - увеличьте разрешение экрана.

Про использование файнридеров ничего расписывать не буду - этого добра и так в сети хватает.

Комментарии не модерируются, так что дополняйте и поправляйте.

Комментарии

Вы забыли дать линки на отсканированные вами так книги.

Скоро будут - я пока с демками игрался. Сейчас ищу оптимальные цветовые настройки выходных изображений для нормального распознавания.

А не подскажете, нет ли возможности повлиять на разрешение в книжке exe.Book?
Или размер буковок\страничек жестко зашит? Разрешение экрана влияет на качество изображения? (не на чем проверить)

Я. в общем-то, не силен в тких вопросах... неужели до сих пор нет программы для вытаскивания текста из таких екзешников? Неужели он там как-то уж очень сильно шифруется?

Ответ на оба последних комментария.
В случае публиканта там просто картинки. Здесь подробнее. Соответственно, из файла просто так не скопипастить и не изменить масштаб. Разрешение влияет на работу самой программы - в 1024x768 правый край книги срезается, у меня оптимальное - 1152x864 при 15".

Rogue написал:
Ответ на оба последних комментария.
В случае публиканта там просто картинки. Здесь подробнее. Соответственно, из файла просто так не скопипастить и не изменить масштаб. Разрешение влияет на работу самой программы - в 1024x768 правый край книги срезается, у меня оптимальное - 1152x864 при 15".

Спасибо, почитал. Вот же ...censored...!

Понятно, спасибо.
Попробую вашу методу. А то я уж хотел сам написать программку для п\автоматической съемки скриншотов, благо это не великая проблема.

Вы Дональдсона этим инструментом так быстро раздолбали? Круто!

Да сами скриншоты - фигня, вот вычитывать долго пришлось. Нужно с конвертированием картинок поиграть, чтобы резкость повысить - основная защита на это и рассчитана.

Мне кажется, нужно было сначала над одной картинкой поработать в photoshop, а потом все остальные автоматом сконвертировать. После этого распознавание бы улучшилось.
А можно пример снимка экрана этой книжки с размытым текстом?

В голову сейчас пришло: а ведь сговорятся эти публикасты с производителями ибуков - вот когда тоска-то настанет :(

Не бойтесь, любая защита будет сломана. Поставите "правильную" прошивку, и вуаля.

X