Вернуться к разделу "СканКромсатор v5.6A. Пособие по программе".
Программа предназначена для автоматизации обработки изображений страниц книг, полученных в результате сканирования.
Поддерживаемый формат исходных файлов: BMP (сжатый и несжатый), TIFF (все форматы включая LZW), GIF.
Поддерживаемый формат конечных файлов: BMP (несжатый), TIFF (сжатый и несжатый).
Поддерживаемое значение DPI исходных файлов: все.
Поддерживаемое значение DPI конечных файлов: 300, 600, а также режим сохранения DPI равным его значению в исходном файле.
Поддержка серых (256) и цветных изображений: есть, но практически не тестировалась.
Программа работает в пакетном режиме, но с полной визуализацией исходного и конечного результатов. Процесс обработки проходит в два этапа: на первом этапе пользователь формирует задание: задает для каждой станицы или целой группы страниц определенное правило обработки. На втором этапе происходит собственно сама обработка изображений в соответствии с построенными правилами. Процесс составления задания полностью интерактивный и визуальный. Задания можно сохранять в файл для повторного использования или корректировки. После завершения обработки задания пользователь имеет возможность тут же просмотреть результат, сверить его с оригиналом, и при необходимости вернуться к заданию и отредактировать его правила, целиком, или для любых выборочных страниц.
Окно программы разделено на 3 панели. В левой панели расположены:
Элементы управления располагаются на двух страницах-закладках: “Page” и “Global”. Первая предназначена для индивидуального или группового управления обработкой страниц книги (или их половинок в случае разворота), вторая страница служит для задания общих параметров обработки.
В верхней панели расположены:
Наконец, последняя панель – панель просмотра, служит для отображения текущего выбранного исходного изображения. Внизу панели находятся два бегунка, с помощью которых пользователь интерактивно задает положение режущих линий, отвечающих за обрезку левого и правого краев изображения. Еще два бегунка располагаются вверху панели. Эти бегунки управляют положением режущих линий, используемых для изображений страниц с разворотом, для их разрезания на две половинки и одновременного удаления ненужных внутренних полей.
Коротко, подготовка задания производится в следующем порядке:
1. Выбираются файлы со сканированными изображениями, либо открывается ранее подготовленное и сохраненное задание.
2. Для каждой страницы или группы подряд идущих страниц задаются правила обработки.
3. После того, как определены правила для всех изображений, запускается процесс обработки и по его окончании в отдельном окне просматривается результат работы. Допускается выборочная обработка: как для отдельного исходного файла, так и для диапазона файлов.
4. Если полученный результат пользователя не устраивает, он закрывает окно и возвращается к пункту 2. В окне результатов предусмотрена возможность пост–обработки: очистка произвольного выделенного мышкой прямоугольного фрагмента, а также автоматическая очистка чёрной полосы, «наползающей» на текст.
Рассмотрим процесс подготовки задания более подробно.
1. Нажмите кнопку с изображением папки, расположенную на верхней панели, и выберите нужные файлы со сканированными изображениями. Как обычно, с помощью клавиши Shift можно выбирать диапазон файлов, с помощью клавиши Ctrl – отдельные файлы. Выбранные файлы будут отсортированы по именам с использованием smart-сортировки и их имена занесутся в список, расположенный в верхней части левой панели программы.
2. Активируйте мышкой или с помощью клавиатуры первый файл в списке. Изображение появится в панели просмотра. По умолчанию первое изображение из списка масштабируется так, чтобы целиком уместиться в отведённой области. Последующие картинки масштабируются с тем же коэффициентом, что и первое изображение. Масштаб можно в любой момент изменить с помощью бегунка масштабирования, либо колёсиком мышки.
По умолчанию для качественной прорисовки изображений используется линейное фильтрование. Если у вас маломощный компьютер, или вы просто хотите без задержек перемещаться по списку файлов, отключите фильтр. Для этого в контекстном меню панели просмотра выберите опцию “No zoom filter”.
3. Теперь можно задавать правила обработки текущей страницы. Однако, прежде чем перейти к описанию правил, приведем их полный перечень с указанием доступной применимости:
Правило | Применимо ко всей странице | Применимо раздельно к каждой части разворота | Применимо только ко всем страницам сразу |
---|---|---|---|
External margins cut | + | + | - |
Internal margins cut | - | + | - |
Rotate 90,180 | + | - | - |
Split | + | - | - |
Deskew | + | + | - |
Art Deskew | + | + | - |
Ortho Deskew | + | + | - |
Despeckle | + | - | - |
AutoMargins | + | + | - |
Text position | + | + | - |
Gap value | - | - | + |
Page width type | - | - | + |
Page width | - | - | + |
Output format | - | - | + |
Output dpi | - | - | + |
Output prefix | - | - | + |
Отметим, что порядок задания правил, за исключением разворота, никакого значения не имеет.
3.1. Предварительный разворот изображения на 90, –90 или 180 градусов. Очевидно, что данное правило, если оно необходимо, должно быть задано первым.
3.2. Разрезание страницы с разворотом на две половины. Для этого включите переключатель “Split”. Здесь возможны два варианта: либо изображение просто разрезается на две части, либо одновременно с этим происходит отсечение чёрной (или просто ненужной) области в районе разворота. В первом случае передвиньте второй сверху бегунок (Xi1) в положение, примерно соответствующее центру разворота. Во втором случае дополнительно включите переключатель Xi2. В вашем распоряжении будут уже два бегунка (и соответственно две режущии линии), один из которых поставьте левее чёрной полосы, другой – правее. При выполнении задания область между двумя режущими линиями будет вырезана и удалена. При этом левая линия будет определять правый край левой страницы, а правая линия – левый край правой страницы.
Если вы хотите удалить чёрную полосу на развороте не разрезая страницы на две, не включайте опцию “Split”, но включите переключатель Xi2. В этом случае область между двумя внутренними режущими линиями будет не вырезаться, а только очищаться.
3.3. Отрезание ненужных полей слева и справа. Для отрезания ненужных крайних полей всего изображения, или, если включена опция Split, левого поля левой страницы и правого поля правой, включите переключатели Xl и Xr соответственно (или оба сразу, или любой из них, если хотите обрезать поле только с какой-либо одной стороны). На нижней панели станут доступны еще два бегунка и соответствующие им режущие линии. Установите линии мышкой в нужное положение.
3.4. Автоматическая компенсация наклона страниц. Включите опцию “Deskew”. В режиме Split компенсация наклона выполняется независимо для левой и правой страниц разворота. Операция “Deskew” выполняется очень быстро и дает правильный результат в 99% случаев. Исключение составляют три типа страниц: страницы со сложными художественными рисунками, сильно разреженные страницы, и, наконец, страницы, имеющие вертикальную ориентацию, но содержимое которых расположено перпендикулярно, т.е. развернуто на 90 градусов. Как правило, заложенный в программу стандартный deskew-алгоритм дает в таких случаях неправильный результат. Для борьбы с этим предусмотрено два дополнительных режима: “Art” и “Ortho”. Режим “Art” применяйте в первом и втором случаях, режим “Ortho” – в третьем. Допускается любая комбинация этих режимов. В случае разворота режимы можно задействовать раздельно для каждой из половинок страницы. “Art”-режим идеально справляется с любым наклоном и любым типом страниц, но имеет один недостаток – он выполняется в два-три раза медленнее стандартного алгоритма. Поэтому не стоит применять его для всех страниц подряд. “Ortho”-режим работает очень просто: сначала программа выполнит вспомогательный поворот страницы на 90 градусов, рассчитает угол Deskew (стандартным или Art-алгоритмом), и только потом применит этот угол к исходному изображению.
3.5. Удаление из изображения мелких паразитных пятен. Включите опцию “Despeckle”.
3.6. Автоматический расчет полей страницы. Включите опцию “AutoMargins”. Данное правило позволит привести ширину всех полей страниц книги к единому значению, которое задается в элементе “Gap value”. При этом положение установленных вами режущих линий особого значения уже не имеет. Программа сама уберет лишние поля или, наоборот, добавит пространства с тех сторон страницы, где величина поля оказывается недостаточной. В связи с этим возникает вопрос: а зачем тогда нужны режущие линии? Действительно, за исключением линии Xi1, используемой всегда в режиме Split, остальные линии в общем случае можно не задействовать. Они нужны только тогда, когда поля или внутренняя область разворота имеют много паразитных точек или чёрные вертикальные полосы. Если не отрезать их, то AutoMargins–алгоритм примет их за текст и соответственно неправильно рассчитает ширину внешних или внутренних полей. Придерживайтесь следующего правила: отрезайте всегда лишние области на внешних и внутренних полях отсканированной страницы, если они содержат «мусор» в виде линий или крупных точек. Этим самым вы не только обеспечите правильность конечного результата, но и заметно сократите время работы алгоритма.
Режим AutoMargins допускается применять дифференцированно: его можно задействовать не только для каждой страницы, но еще и отдельно для её левого и правого края. Что означает ситуация, когда опция AutoMargins активизирована, но галочка, например, для левого края, не проставлена? Это означает следующее: программа сделает левое поле равным “Gap value” пикселей, но автоматически определять крайнюю левую позицию, с которой начинается текст, не станет – она будет предполагать, что эту позицию вы выставили вручную с помощью левой режущей линии (Xl).
3.7. Text position. Возможные значения параметра: A(Auto), L(Left), C(Center), R(Right). Данное правило имеет смысл применять, только если включена опция “AutoMargins”. В этом случае текст в конечном файле будет иметь то же положение на странице, что и в исходном изображении. Если исходная страница содержит неширокий текст посередине, то при выборе для нее значения C(Center), обработанное изображение будет также отцентрированным. Если же опцию не включить, то текст окажется прижатым к левому краю. В настоящей версии программы параметры A,L,R всегда эквивалентны L. Правило введено в программу с одной целью – если в исходном изображении его содержимое отцентрировано по ширине странице, то при задании для нее С оно останется таковым же на выходе. Правило задается независимо для левой и правой страниц разворота.
4. Перейдите в списке файлов на следующий файл. Все правила, установленные для предыдущего изображения, останутся справедливыми и для текущего файла (если текущая страница имеет отличные от предыдущей размеры, то бегунки и режущие линии изменят свое положение так, чтобы их положение в пикселях от начала изображения были такими же, как и в предыдущем изображении). Если визуально видно, что существующие правила вполне удовлетворяют данному изображению, перемещайтесь на следующий файл в списке. Как показывает опыт, единожды подобранное правило остается справедливым для одного и более десятка подряд идущих страниц. За счет этого факта время, затрачиваемое на подготовку задания, как правило, невелико (от 3 до 5 минут на каждые 100 файлов). И, что более важно, использование однотипных режущих линий значительно сокращает время получения конечного результата. Если бы программа использовала бы исключительно автоматические супер-интеллектуальные методы для отсечения и разрезания «грязных» полей и разворотов, то обработка страниц занимала бы от нескольких десятков минут в лучшем случае до нескольких часов в худшем. Здесь же, используя тот факт, что разметка остается неизменной для большого количества подряд идущих страниц, получаем время обработки, измеряемое минутами.
Итак, перейдя на очередную страницу, вы обнаруживаете, что текущие правила уже не подходят. Вернитесь на предыдущий файл и нажмите кнопку «Apply up to current».
Все установленные правила будут «прикреплены» ко всем файлам, начиная от первого файла в списке, не имеющего впереди галочки, и кончая текущим. Допускается применять текущие правила к любому отдельно взятому файлу из списка. Для этого перейдите на нужный файл, задайте правила и нажмите кнопку «Apply to current» или просто поставьте мышкой галочку напротив имени файла.
Для того, чтобы исключить файл из обработки, оставив его при этом в списке, снимите галочку напротив него. При выполнении задания файл обрабатываться не будет. Чтобы снять галочки со всех файлов списка, выберите в контекстном меню списка команду «Unmark all». Имейте ввиду, что снимая галочку, вы также теряете все правила, прикрепленные к деактивированному файлу.
Еще один момент: если вы решили изменить правила обработки для уже помеченного галочкой файла, то для этого недостаточно стать на файл и поменять правила. Для уже помеченных файлов изменение правила автоматически не фиксируется (во избежание случайных непреднамеренных изменений). Чтобы заменить старое правило, сначала уберите галочку напротив файла, измените правило, а затем снова поставьте галочку для принятия изменений.
В заключение рассмотрим правила, которые выставляются единожды и действуют одновременно на все файлы задания.
1. Page width. Возможные значения: Auto, Fixed, None. Если задано значение Auto, программа выполнит приведение ширины всех страниц книги к единому значению. Само значение будет вычислено автоматически с учетом фактических ширин страниц и заданного Gap Value. Отметим, что для определения ширины используется специальный адаптивный алгоритм, позволяющий интеллектуально обрабатывать страницы (такие случаи встречаются не так уж редко), текст на которых «вылазит» на поля. В этом случае адаптивный алгоритм путем несложного статистического анализа определит, насколько нужно уменьшить Gap Value для таких страниц.
Если задано значение Fixed, то ширина всех страниц будет подогнана до значения, указанного пользователем. Заданное значение ширины воспринимается как ширина с учетом Gap Value.
Значение параметра, равное None, по сути предписывает программе оставлять ширину страниц AS IS, т.е. только с учетом положения режущих линий и значения параметра AutoMargins.
2. Gap value – задает значение размеров полей страниц в пикселях.
3. Output dir – папка, в которую будут сохраняться результирующие файлы. Если папки не существует, программа попытается создать её.
4. Output prefix – произвольная буквенно-цифровая строка, которая будет добавляться к именам выходных файлов. Отметим, что имена выходных файлов всегда формируются по следующему правилу:
[prefix]01.TIF, …, [prefix]21.TIF
[prefix]001.TIF, …, [prefix]150.TIF
[prefix]01.TIF, [prefix]03.TIF, … (если Step <> 1)
[prefix]10.TIF, [prefix]11.TIF, … (если Start from <> 1)
5. Start from – числовое значение в имени файла, с которого начнется нумерация выходных страниц.
6. Step – числовой шаг, используемый при нумерации выходных файлов.
7. Output format – формат выходных изображений.
8. Output DPI – значение DPI выходных изображений.
После того, как задание сформировано, запустите его на выполнение, нажав кнопку “Process!”.
В контекстном меню списка файлов доступны дополнительно еще три команды: “Process current file” – для обработки только текущего выбранного изображения, “Process up to current” – для обработки всех изображений начиная от первого и заканчивая текущим выбранным, и “Process from current” – для обработки всех изображений начиная от текущего выбранного и заканчивая последним в списке.
Напомним, что в любом случае обрабатываться будут только те файлы, напротив которых выставлена галочка.
В процессе обработки на экране отображается окошко, в котором показывается ход обработки. Вы можете прервать выполнение задания, нажав кнопку “Cancel”.
По окончании выполнения задания на экран будет выведено окно, в котором отображаются файлы с результирующими изображениями. Предусмотрен показ как одного файла, так и двух одновременно. Вверху окна расположены различные кнопки, служащие для навигации по списку изображений. Если включить опцию “Sync”, то при навигации по выходным файлам будет производиться автоматическая смена изображений и в окне с исходными файлами.
В окне просмотра результата можно производить так называемую пост-обработку. В данной версии предусмотрено только две операции: очистка произвольной прямоугольной области и удаление чёрных полос, «наезжающих» на текст.
Прежде чем начать пост-обработку, выберите в контекстном меню панели с изображением команду «Edit image».
Для очистки области выделите ее мышкой и нажмите клавишу Delete.
Для удаления чёрной полосы также окружите её выделением, и в зависимости от того, расположен текст справа или слева от полосы, выберите в контекстном меню команду «Remove shadow on right page» или «Remove shadow on left page» соответственно. Ничего страшного, если область выделения захватит часть текста.
На рисунках показан файл до и после удаления чёрной полосы:
Для сохранения задания в файл выберите в контекстном меню списка файлов команду “Save task”. Для загрузки ранее сохранённого задания в том же меню выберите команду “Open task”.
Предусмотрен быстрый доступ к последним трём сохранённым заданиям: их имена выводятся в конце контекстного меню.
В файле задания сохраняются полные абсолютные пути к файлам с изображениями. Если окажется, что местоположение исходных файлов на диске изменилось, при открытии задания, не обнаружив файлы по старому пути, программа попросит вас указать новое месторасположение файлов.
В данном разделе освещаются некоторые вопросы, которые не нашли своего отражения выше.
1. Вопрос: Я забыл сохранить подготовленное задание в файл. Нужно ли мне составлять его заново?
Ответ: Нет, при условии, что после этого вы не загружали и не формировали другие задания. Последнее подготовленное задание автоматически сохраняется во временный файл “current.spt”, который располагается в папке с исполняемым файлом.
2. Вопрос: Как мне быстрее всего загрузить файлы, являющиеся в свою очередь выходными файлами другого задания?
Ответ: После выполнения каждого задания программа автоматически создает новое пустое задание, заполнив его только именами выходных файлов. Заданию дается имя текущего задания с прибавлением суффикса “out”.
3. Вопрос: Я выполнил задание и затем захотел изменить его параметры для одного из файлов. После корректировки запустил задание снова, выбрав команду “Process current file”. После этого ширина получившегося выходного файла стала другой. В чем дело?
Ответ: Видимо, первично вы запускали задание с включенной опцией Auto Page Width. Эта же опция осталась активной и при втором запуске. Но при данной опции ширина страницы вычисляется исходя из анализа ширин всех страниц книги. Поэтому при повторном запуске выберите опцию Fixed Page Width (значение Page Width было вычислено при первом запуске).
4. Вопрос: Я составил задание и впоследствии решил применить опцию Art Descew для всех страниц. Но для этого я должен теперь пройтись по всем файлам в списке, и для каждого из них убрать галочку, включить опцию Art и затем снова проставить галочку. Есть ли способ сделать это быстрее?
Ответ: Да. Станьте на любой файл в списке и, удерживая клавишу Ctrl нажатой, включите опцию Art. В результате данное правило будет присвоено всем файлам в списке. Данная возможность справедлива для всех правил.
5. Вопрос: Можно ли двигать режущие линии (правую и левую) синхронно?
Ответ: Да. Для этого удерживайте клавишу Ctrl нажатой.
6. Вопрос: После просмотра результата выполнения задания я закрыл окно с результатом. Можно ли как-то снова вызвать его, не запуская задание повторно?
Ответ: Да. Для этого выберите в контекстном меню списка файлов команду “Show result”.
7. Вопрос: Можно ли удалить совсем какой-либо файл из списка файлов?
Ответ: Да. Для этого выберите в контекстном меню списка файлов команду “Delete file from task”.
8. Вопрос: Можно ли добавить к заданию новый файл, которого нет в текущем списке?
Ответ: Нет. Данная возможность будет реализована в следующей версии.
9. Вопрос: При изменении масштаба просмотра исходного файла положение изображения изменяется, но режущие линии остаются на прежнем месте, изменяя тем самым выставленные координаты обрезки полей.
Ответ: Да, такая проблема действительно существует, из-за того, что линии остаются неподвижными при масштабировании или скроллинге изображения. Возможно, в следующих версиях такое поведение будет исправлено. Пока же рекомендуется не изменять масштаб просмотра исходного изображения на этапе подготовки задания.