Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - monday2000

Страницы: 1 2 3 [4] 5
46
В библиотеке FreeImage нет такой полезной опции, как частичная загрузка файлов. По-английски я условно назвал это "Partial image loading" (PIL).

Имеется в виду вариант, когда с диска открывается поддерживаемый графический файл, и загружается в память не полностью - а только заголовок + палетка (цветов) + метаданные (если они есть), без загрузки пикселей.

Такое необходимо, если у нас множество графических файлов, и мы хотим как-нибудь малой кровью узнать, какие у них пиксельные размеры, DPI, глубина цветности. Вся эта информация находится в заголовке, в палетке (и в метаданных кое-что есть - но очень редко).

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

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

Я тут на пробу сделал модифицированную версию FreeImage, которая поддерживает PIL - но только исключительно для BMP-файлов (для простоты). Хотелось бы распространить эту фичу на все другие форматы, поддерживаемые FreeImage. Но не знаю, потяну ли я это в одиночку. Это ж надо индивидуально править руками каждый плагин внутри FreeImage, отвечающий за поддержку конкретного формата. Естественно, все плагины друг на друга непохожи - форматы-то бывают самыми прихотливыми.

Эта тема обсуждается на форуме FreeImage здесь:

https://sourceforge.net/projects/freeimage/forums/forum/36111/topic/1428410

Вот моя пробная реализация частичной загрузки:

http://www.djvu-soft.narod.ru/soft/fi_mod_v1_0.rar  (4,81 МБ)

Внутри - модифицированный (перекомпилированный) FreeImage.dll + исходники, а также пример кода, объясняющий, как это использовать. Я модифицировал одну из старых версий FreeImage - 3.9.2 - потому что там есть компиляционный проект под MS VC++ 6.0 (который я использую). Последние версии FreeImage уже не имеют такового, и я не могу их скомпилировать под MS VC++ 6.0 (по крайней мере, в первом приближении).

Пробная реализация работает только для BMP-файлов. Все остальные форматы - тоже работают, но по-старому - т.е. без возможности частичной загрузки.

47
Pdf / Утилита fi2pdf
« : 09 ёоЭм 2010, 09:07:24 »
Я сделал небольшую консольную утилиту:

fi2pdf

Это примитивная консольная программка, которая конвертирует 1 одностраничный растровый графический файл в 1 одностраничный растровый PDF-файл.

Размер создаваемого PDF - А4. При этом, если линейные размеры конвертируемого файла (пиксели/dpi) меньше/больше А4 - то он перемасштабируется под размер А4.

Утилита сделана на базе FreeImage. Утилита представляет из себя кусок кода, выдернутый из проекта PosteRazor http://posterazor.sourceforge.net/ , при этом и немного упрощённый.

Лицензия - "GPL 3 и позже". У FreeImage лицензия - "GPL 2 и позже", так что совместная компиляция не представляет проблемы.

Для работы утилиты требуется файл FreeImage.dll.

Скачать здесь:

http://www.djvu-soft.narod.ru/soft/fi2pdf.rar  (635 КБ)

Внутри - сама утилита, её исходники, хелп к ней и FreeImage.dll.

К сожалению, мне пока не удалось сделать так, чтобы эта утилита могла кодировать в многостраничный PDF хотя бы несколько графических файлов (а не один) за один присест. PDF оказался гораздо сложнее для понимания, чем простые графические файлы. Здесь так просто, как в обычных файлах, многостраничный PDF не сделаешь. :(

Пока что этот недостаток можно преодолеть за счёт склейки получаемых одностраничных PDF консольной утилитой http://www.accesspdf.com/pdftk/ .

Правда, pdftk весит аж 2,2 МБ - что весьма немало. Т.е. интегрировать fi2pdf в собственные программы пока преждевременно (т.к. туда потребуется добавить и pdftk ради склейки многостраничного PDF).

Я написал письмо автору программы PosteRazor. Вот его ответ:
Цитировать
PosteRazor uses 'relatively' little
features from FreeImage in order to generate the PDFs.
Possibly, I could have used available PDF libraries like
http://libharu.org or http://www.foolabs.com/xpdf/ . But since the
PDFs generated by PosteRazor are on one hand very simple and on the
other hand I wanted very specific image embedding features, I went for
self gereating PDFs.

I used the PDF reference
http://www.adobe.com/devnet/pdf/pdf_reference.html to get the minimal
document structure going. Then I embedded either a plain Jpeg file
(for lossy compression) or 'deflated'/gzipped data for lossless
compression. In order to verify if the PDF is valid, I used
http://www.accesspdf.com/pdftk/

If you need some inspiration, you could aslo have a look at the very
great tool http://libtiff.maptools.org/man/tiff2pdf.1.html which is
part of libtiff, available as source.

Alessandro Portale

48
DjVu / Программа MiniDjVu Plus
« : 04 ёоЭм 2010, 15:48:33 »
Представляю свою новую программу:

MiniDjVu Plus v1.0

Скачать:

http://www.djvu-soft.narod.ru/soft/minidjvu_plus_v1_0.rar  (941 КБ)

Исходники:

http://www.djvu-soft.narod.ru/soft/minidjvu_plus_v1_0_src.rar  (81 КБ)

Описание:

MiniDjVu Plus - это экспериментальная программа, предназначенная для (пакетного) кодирования/декодирования в/из DjVu.

MiniDjVu Plus имеет лицензию "GPL 2 и выше" и полностью открытые исходные коды.

Программа работает как под Win98, так и под Win2000/XP.

MiniDjVu Plus использует бесплатную программную графическую библиотеку FreeImage (под лицензией GPL).

Возможности

1. Кодирование в DjVu (пакетное и одиночное) чёрно-белых (1-битных) растровых графических файлов (TIF, BMP, JPG, ....).

2. Кодирование в DjVu (пакетное и одиночное) серых и цветных (8- и 24-битных) растровых графических файлов (TIF, BMP, JPG, ....) (в режиме PhotoDjVu).

3. Декодирование DjVu (в растровые графические файлы - TIF, BMP, JPG, ....).

ВНИМАНИЕ:

MiniDjVu Plus является графической оболочкой к экспериментальной консольной программе minidjvu v0.8 http://minidjvu.sf.net/ (в лице fi_minidjvu). Использовать minidjvu v0.8 (MiniDjVu Plus) всерьёз для реального чёрно-белого DjVu-кодирования КРАЙНЕ не рекомендуется!!! (Для этого существуют коммерческие DjVu-кодировщики.)

MiniDjVu Plus является лишь средством для общественного тестирования (силами всех желающих) возможностей minidjvu v0.8.

Т.е. minidjvu v0.8 (в лице MiniDjVu Plus) - это "игрушечный" чёрно-белый DjVu-кодировщик.

Однако (в отличие от чёрно-белого DjVu-кодирования) кодирование в DjVu серых и цветных растровых графических файлов (в режиме PhotoDjVu), и декодирование DjVu поддерживаются программой абсолютно полноценно и неотличимо по качеству от соответствующих коммерческих аналогов.

Подробности:

Файл MiniDjVu Plus.exe - это просто GUI, управляющий соответствующими консольными утилитами.

Пакет содержит 3 основные рабочие утилиты:

- fi_minidjvu.exe - консольная утилита для (пакетного) кодирования чёрно-белых графических файлов в форматах bmp, jpeg, jpg, gif, tiff, tif, pnm, ppm, pgm, pbm. Версия: 1.1. Представляет из себя утилиту miniDjVu v0.8 http://minidjvu.sf.net/ с добавленной поддержкой FreeImage.

- fi_c44.exe - консольная утилита для (пакетного) кодирования серых и цветных графических файлов (в тех же форматах) в режиме Photo DjVu. Версия: 1.1. Представляет из себя утилиту c44 http://djvu.sourceforge.net/ с добавленной поддержкой FreeImage.

- fi_ddjvu.exe - консольная утилита для декодирования любых DjVu-файлов: одно- и многостраничных; содержащих чёрно-белые, серые и цветные изображения (при декодировании автоматически создаются файлы соответствующей битовой разрядности). Версия: 1.1. Представляет из себя утилиту ddjvu http://djvu.sourceforge.net/ с добавленной поддержкой FreeImage.

MiniDjVu Plus имеет 3 режима работы, соответствующие этим консольным утилитам:

- BW -> DjVu    (управление консольной утилитой fi_minidjvu.exe)

- Photo -> DjVu    (управление консольной утилитой fi_c44.exe)

- Decode DjVu    (управление консольной утилитой fi_ddjvu.exe)

В любом из режимов работы пользователь визуально формирует параметры (де)кодирования, которые MiniDjVu Plus подаёт затем через командную строку на вход соответствующей консольной утилиты. При этом сформированная командная строка отображается в процессе (де)кодирования в лог-окне.

Примечание

MiniDjVu Plus (включая fi_minidjvu) является полностью и абсолютно легальной программой во всех отношениях (что является её главным преимуществом). Её лицензионный статус - "свободно-бесплатная программа с открытыми исходными кодами".

Смысл создания программы MiniDjVu Plus состоит в том, чтобы дать всем желающим удобный визуальный программный инструмент для сравнения возможностей бесплатного DjVu-кодировщика minidjvu v0.8 с возможностями коммерческих DjVu-кодировщиков.

Название "MiniDjVu Plus" было выбрано так, чтобы оно обязательно включало в себя слово "miniDjVu" - с целью отдать дань уважения Илье Межирову, создавшему консольную утилиту "miniDjVu" http://minidjvu.sf.net/, являющуюся "сердцем" и основным смыслом создания MiniDjVu Plus.

49
Флейм / Недостатки Scan Tailor
« : 05 јРЩ 2010, 18:45:34 »
Давайте обсудим недостатки программы Scan Tailor http://scantailor.sf.net

Кое-какие недостатки уже упоминались тут на форуме - хотелось бы как-то систематизировать.

Цель данного топика я подразумеваю не в том, чтобы донести до автора программы Scan Tailor (Tulon) пожелания об улучшении Scan Tailor (СТ) (тогда имело бы смысл писать прямо в официальном форуме СТ).

Цель данного топика - показать, что назрела необходимость создания альтернативы Scan Tailor. Давайте определимся - нужна ли альтернатива СТ, и, если да, то какая?

Итак, начну перечисление недостатков:

1. СТ не даёт пользователю свободу выбора действий - навязывая пользователю строго определённую стратегию действий.

2. СТ не даёт (в общем случае) возможность сторонним программам обработать свои сканы. Пример - СТ не выдаёт субсканы переднего плана в оригинальном режиме цветности (серое или цветное).

3. СТ скрывает внутри себя, какими именно элементарными алгоритмами и в какой последовательности обрабатываются сканы. Пример: вроде бы, в СТ применяется своё выравнивание освещённости. А в каких именно случаях - непонятно. Многие ли знают, что в СТ применяется бинаризация Otsu?

4. Tulon обнародовал планы по созданию некоей своей программы, которая будет как-то напрямую сопрягаться с СТ - и генерировать DjVu прямо из СТ-вывода. Я думаю, речь идёт о чём-то на базе miniDjVu.

Однако, miniDjVu, с моей точки зрения, пока не годится для сканобработки. Её еще нужно совершенстовать на алгоритмическом уровне. Разумнее было бы Tulon заниматься совершенствованием СТ - вместо того, чтобы лезть ещё и в создание своего DjVu-кодировщика.

По интерфейсу:

5. СТ не годится для разрезки разворотов (ИМХО). Поскольку ползунки резака разрезки сканов (синие кругляши) находятся в пределах рабочей области скана. А надо - чтобы они были за её пределами (как в СканКромсаторе - СК). Поэтому, когда попадаются сканы, где левый и правый лист слишком близко расположены друг к другу на развороте - синие кругляши начинают сильно мешаться, они уже наползают на левую и правую половинки разрезаемого разворота.

6. У разрезающего развороты резака СТ нет опции "Распространить текущую позицию резака на все (опционально - через одну) нижележащие сканы". Такая опция есть в СК.

7. Что-то не в порядке с графическим движком в СТ. Если увеличить масштаб кручением колёсика, затем сдвинуть скан, "ухватив" его курсором, и далее уменьшить масштаб кручением колёсика - то в некоторых случаях скроллбары не уберутся там, где надо. К примеру, в СК, такие проблемы неведомы.

8. СТ не умеет выводить чёрно-белые 1-битные сканы со сжатием CCIT Fax G4. Вместо этого он сжимает их в LZW. :o

9. Я считаю неправильной схему имён файлов, выводимых из СТ:
0001_0001.tiff, 0002_0002.tiff, ... Во-первых, расширение TIFF не открывается в 5 портабельном Фотошопе у меня, а во-вторых - все нормальные программы по работе со сканами выдают файлы с именами вроде 0001.tif, 0002.tif, ...., 0010.tif, ...., 0100.tif. Пример - FineReader, BookRestorer. СТ-схема имён даёт одну лишь путаницу - и больше ничего хорошего.

10. Опция "Применить к" - "Ко всем страницам" и т.п. у меня не работает. Я не знаю, как заставить её работать.

11. Глядя на ленту предпросмотра на этапе вывода, невозможно понять, есть ли на таком-то скане авто-зоны. Бывает, малые куски текста ошибочно авто-определяются как зоны - и это замечаешь только уже после вывода и разбиения на субсканы.

12. В СТ нет встроенного разбиения смешанного вывода на субсканы. Это глупость уже очевидная. Пришлось сделать программы Сепаратор, ST Split.

13. В СТ нет ластика. Он крайне нужен.

Выводы:

Я бы сделал пока следующие выводы.

1. СТ нельзя рассматривать как универсальное средство "всё-в-одном" для сканобработки. СТ следует использовать лишь для выполнения отдельных этапов сканобработки. Это, пожалуй, самый важный вывод. Хотя Tulon изо всех сил отчаянно пытается чуть ли не силовым приёмом убедить всех в обратном.

2. Необходимо создать независимую стороннюю визуальную программу для ручной разрезки сдвоенных разворотов. За образец следует принять СК - т.е. сделать всё так, как это разрезка сделана в СК (только попроще).

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

3. Возможно, следует сделать программу для пакетной чистки ластиком сканов. В ней дообрабатывать конечный вывод из СТ.

4. СТ - очень коварная программа. Она опасна. В некотором смысле, она подла. Её опасность в том, что она пытается выдать себя за совершенное средство сканобработки - на самом деле таковым не являясь. Внешняя красивость вводит в заблуждение большинство новичков, вызывая у них восторг и экстаз по поводу программы. Только имея определённый опыт в сканобработке, можно "разоблачить" СТ (что я и хочу сделать).

Короче, я считаю, что нам нужна альтернатива СТ, потому что нам не нужна такая "нечестная" и "подло-лицемерная" программа. СТ - есть зло, но понять это непросто, нужен опыт.

К примеру, тот же СканКромсатор, при всех своих огромных недостатках, гораздо более "честная" программа.

В общем, СканКромсатор, конечно, плох - но и Скан Тейлор не лучше. Поэтому - выход в том, чтобы создать нечто третье. И кому-то, отличному от авторов СК и СТ.

Если кто-то хочет что-то сказать по этому поводу - прошу высказываться.

50
Сканобработка / Программа ST Split
« : 29 °ЯаХЫм 2010, 17:51:22 »
Представляю свою новую программу:

ST Split v1.0

Скачать:

http://www.djvu-soft.narod.ru/soft/st_split_v1_0.rar  (656 КБ)

Исходники:

http://www.djvu-soft.narod.ru/soft/st_split_v1_0_src.rar  (45 КБ)

Программа является аналогом "Сепаратор" от 57an и аналогом LayerTailor от U235.

ST Split - это программа, предназначенная для сопряжения программы Scan Tailor со связкой программ DjVu Imager и DjVu Small.

Благодаря этому, ST Split даёт возможность кодировать продукцию Scan Tailor в DjVu по методу разделённых сканов (c DjVu Imager).

ST Split имеет лицензию "GPL 2 и выше" и полностью открытые исходные коды.

Программа работает как под Win98, так и под Win2000/XP.

ST Split использует бесплатную программную графическую библиотеку FreeImage (под лицензией GPL).

Основная схема работы:
Цитировать
Scan Tailor v0.9.8  -> ST Split v1.0 -> DjVu Small v0.4.3  -> DjVu Imager v2.8

Возможности:

1. Разделение продукции Scan Tailor, полученной в режиме "Смешанный", на пары субсканов (передний субскан + задний субскан). Программа осуществляет это разбиение, базируясь на СТ-принципе резервирования цветов (чисто белый и чисто чёрный цвета имеют номера цветов 255 и 0 соответственно, а все остальные цвета находятся в диапазоне 1..254).

2. Дополнительно, при использовании продукции Scan Tailor, полученной в режиме "Цветной/Серый", генерация передних субсканов в режиме цветности исходных сканов (серый или цветной). Это необходимо для того, чтобы можно было cделать (при необходимости) выравнивание освещённости передних субсканов в программе Book Restorer v4.2.1.

3. Пакетная дерастеризация любых серых или цветных изображений (например, полученных в п.1 задних субсканов).

В текущей версии ST Split применяются (на выбор) 2 алгоритма дерастеризации:

- Гауссово размытие

- Выборочное гауссово размытие (пытается сохранить чёткость чёткоконтурных объектов, размывая только мягкоконтурные объекты).

Оба эти алгоритма позаимствованы из графической программы GIMP.

ВАЖНО: Будьте готовы к тому, что оба этих алгоритма работают крайне медленно. Особенно это касается выборочного гауссового размытия. Рекомендуемое значение радиуса - от 3 до 5-7.

51
Давайте обсудим такую тему, как создание цветного текста в DjVu. Точнее, не только цветного текста - а вообще тему создания (сегментации) объектов переднего плана DjVu.

До сих пор основное внимание общественности было приковано в основном к заднему фону - до переднего плана руки как-то особо ещё не доходили.

Теперь же этот вопрос становится всё более и более актуальным.

Я со своей стороны уже ранее предложил программу DjVu Pal v1.1 http://www.djvu-soft.narod.ru/soft/djvu_pal_v1_1.rar  (472 КБ). Эта программа умеет раскрашивать любые объекты маски в произвольные цвета.
 
Какую-то идею насчёт сегментации текста предложил U235:
http://forum.ru-board.com/topic.cgi?forum=93&topic=3172&start=420#13
Цитировать
А вы не пробовали вместо преобразования цветового пространства RGB2HSV использовать преобразование Карунена-Лоэва? 
Первая компонента автоматически даст черный текст и белый фон, вторая - цветной lineart.

Вот пример обработки по этому способу:
http://forum.ru-board.com/topic.cgi?forum=93&topic=3172&start=440#15
http://www.onlinedisk.ru/file/337716/  (1,16 МБ)
Зеркало: http://ifolder.ru/17325119

Правда, я пока не понял, что это, и как это работает. А также, где взять исходные коды преобразования Карунена-Лоэва. Сам U235 это делает, по-видимому, в Матлабе.

52
Ко мне обратились по электронной почте с просьбой помочь задежавючить сканы детской книги.

Прислали образцы сканов - вот они (в JPG, чтобы снизить размер):


   
   

Всего 3 скана, все вместе тут: http://ifolder.ru/17301841  (4,14 МБ)

Полновесная версия сканов тут:
http://ifolder.ru/17286002  (65,3 МБ - 3 скана)

Задача ставится так:
Как относительно малоквалифицированному пользователю наиболее просто сделать DjVu-книгу из таких сканов?

Как видно, сканы - цветные. Обработка цветных сканов в общем случае более сложна, чем чёрно-белых или серых.

Однако, данный случай, как видно, вполне укладывается в метод разделённых сканов http://www.djvu-soft.narod.ru/scan/low_color_djvu.htm (потому что, в основном, чёткопрофильные объекты (текст, линии, рамки) не находятся на фоне мягкопрофильных объектов (иллюстраций, цветного фона) - а отделены от них промежутками белого пространства. Единственное исключение - чёрный текст на жёлтых полукругах, но такие объекты можно отправить целиком в фон будущего DjVu, т.к. там текст достаточно крупный, чёткий (не слишком размажется в фоне), и не несущий большой смысловой нагрузки).

Таким образом, сканобработка и дежавючение данных сканов не представляет особых трудностей.

Я на пробу обработал и задежавючил эти образцы. Вот что получилось:

http://ifolder.ru/17303433  (80 КБ)

Теперь о том, как я это сделал.

Использовались следующие программы:

1. ScanTailor-anagnost96 (STA) http://djvu-soft0001.nxt.ru/scantailor_0_9_7_1_anagnost96.rar  (6,3 МБ)
2. ScanKromsator v5.92 Full http://www.djvu-soft.narod.ru/soft/basic.htm
3. DjVu Small v0.4.2 http://www.djvu-soft.narod.ru/soft/basic.htm
4. DjVu Imager v2.5 http://www.djvu-soft.narod.ru/soft/basic.htm
5. WinDjView v1.0 noyb http://www.djvu-soft.narod.ru/soft/basic.htm
6. DjVu Pal v1.1 http://www.djvu-soft.narod.ru/soft/djvu_pal_v1_1.rar  (472 КБ)

Порядок обработки

1. Обрабатываем сканы при помощи ScanTailor-anagnost96 (STA), используя руководство http://www.djvu-soft.narod.ru/st_index.htm .
На стадии "Вывод" выделяем вручную те зоны картинок, которые не смогли правильно авто-определиться http://www.djvu-soft.narod.ru/st_zones.htm .

На стадии "Вывод" ставим Режим - Смешанный - Только текст (в выпадающих списках) и запускаем обработку (выбираем режим Применить к ... - Ко всем страницам и жмём кнопку стадии "Вывод" ).

Должно получиться примерно так:



ВАЖНО: после завершения вывода копируем полученную папку out с обработанными сканами куда-нибудь в другое место на диске и переименовываем её (чисто для удобства), скажем, в "out1".

Теперь На стадии "Вывод" ставим Режим - Смешанный - Только изображения (в выпадающих списках) и запускаем обработку. Должно получиться примерно так:



ВАЖНО: после завершения вывода копируем полученную папку out с обработанными сканами куда-нибудь в другое место на диске и переименовываем её (чисто для удобства), скажем, в "out2".

Закрываем СТА - больше он нам не потребуется.

Вывод: мы получили т.н. субсканы переднего плана (текст) - в папке out1 и субсканы заднего фона (иллюстрации)  - в папке out2 - для нижеследующего метода разделённых сканов.

2. Используем ScanKromsator v5.92 (СК) для размытия растра иллюстраций.

Запускаем СК. Загружаем иллюстрации из папки out2. Жмём кнопку "Сбросить все опции и отмаркировать все файлы"


Выбираем вкладку Quality. Нажимаем на клавиатуре Ctrl и, не отпуская его, ставим галку "Enhance image". На вопрос "Apply option to marked files?" нажимаем "Да". Нажимаем на кнопку "Gray enhance" (на вкладке Quality). Выбираем вкладку "Blur". Ставим Gauss blur = 7 (для таких грубых иллюстраций пойдёт). Удерживая Ctrl, выбираем там же флажок "Enable". Жмём кнопку Process! и ждём, пока все сканы не обработаются. Закрываем программу. Результат будет в подпапке out папки out2. :) Папку out2 можно убрать (в архив или удалить) - а папку out из СК сделать вместо неё папкой out2.

Вывод: размытие растра применяется исключительно ради снижения размера будущего DjVu-файла. В принципе, его можно и не делать вообще - либо делать в какой-либо иной, более вменяемой программе, нежели чем ScanKromsator. (Подойдёт любая такая, где есть пакетное размытие типа гауссового Gauss Blur).

3. Используем DjVu Small v0.4.2 для создания т.н. DjVu-заготовки - т.е. дежавючим сканы из папки out1 - с профилем User B/W (600 dpi). Тут всё просто.

Вывод: Мы должны получить DjVu-книгу, содержащую только чёрно-белый текст, и "пропуски" (белые бельма) на месте иллюстраций.

4. Используем DjVu Imager v2.5 для вставки иллюстраций из папки out2 в DjVu-заготовку, полученную в предыдущем пункте. Как пользоваться DjVu Imager - см. тут http://www.djvu-soft.narod.ru/scan/djvu_imager.htm и, если что непонятно, спрашивайте тут: http://www.djvu-scan.ru/forum/index.php?topic=14.0 . Это тоже не особо сложно.

Кстати, при кодировании иллюстраций в DjVu Imager v2.5 я задал опции ДЗФ=5 и Качество задн. фона = 25. Это важно - без этого размер получаемой DjVu-книги будет неоправданно завышен.

Вывод: DjVu-книга готова в общих чертах. Остались некоторые детали.

5. Используем WinDjView v1.0 noyb и DjVu Pal v1.1 для раскраски цветного текста, который встретился на сканах. На 2-м скане был заголовок малинового цвета "Карусельки". В нашей DjVu-книге эта надпись получилась чёрно-белой - так что теперь её надо раскрасить в малиновый цвет - прямо в DjVu-книге. Это можно сделать при помощи связки WinDjView v1.0 и выше и DjVu Pal v1.1.

Программа DjVu Pal v1.1 имеет встроенную помощь, где достаточно подробно расписано, как ею пользоваться. Пользоваться ею исключительно просто. Правда, есть один сложный момент - выбор цвета текста, которым закрашивать текст. Пока что это нужно делать вручную, "на глазок". Вот скриншоты, показывающие, как я выбирал цвет закрашивания текста в WinDjView v1.0:


   
   

Вывод: Этот этап (раскрашивание цветного текста) можно не делать в крайнем случае. Однако, я не вижу существенных причин - почему бы его не делать. Ведь он исключительно простой.

6. Теперь, если будет желание, можно вставить в готовую DjVu-книгу OCR-слой (http://www.djvu-soft.narod.ru/scan/scan_and_share_1_07.htm пункт 5) , гиперссылочное оглавление (DjVu Hyperlinks Editor v0.781 http://www.djvu-soft.narod.ru/soft/basic.htm ), и дерево-оглавление (http://www.djvu-scan.ru/forum/index.php?topic=18.0 ).

Однако, это легко сможет сделать кто-нибудь другой - скачав Вашу DjVu-книгу из Интернета - когда Вы её туда выложите.

Кстати - не забудьте выложить полностью готовую книгу в Интернет. Удобнее всего закачать её на файлообменник ifolder.ru (там файлы хранятся вечно - даже если их никто не скачивает - только на том файлообменнике, кажется, требуется регистрация для закачки туда файлов), а полученную ссылку выложить куда-нибудь на тематический Интернет-форум.

Надо делиться друг с другом полученной продукцией - тем более, что при закачке исходящий ADSL-трафик не тарифицируется и не оплачивается абонентом.

Мелкие советы:

- При сканировании хорошенько прижимайте книгу к стеклу сканера - но не раздавите стекло.
- Отсканировав всю книгу - проверьте комплектность полученных сканов. Многие этого не делают - и получаются в итоге DjVu-книги с пропущенными страницами (исходной бумажной книги).
- В данном описании наиболее сложными являются пункты 1 и 2 - использование СТА и СК. Как уже говорилось, вместо СК можно использовать многие другие программы - PhotoShop, Corel PHOTO-PAINT, WiseBook 2, G'MIC, даже Irfan View можно попробовать.

Или же (для размытия растра иллюстраций) можно применить коммерческие шумодавы - вместо СК (вообще будет отлично):

1. Imagenomic.Noiseware.Professional
2. Neat Image
3. PictureCode Noise Ninja

Подробнее см. http://natahaus.info/forums/showthread.php?t=6055 .

Вместо СТА можно применить СК - но это хуже, т.к. в СК нет авто-распознавания зон http://www.djvu-soft.narod.ru/st_zones.htm .

Можно упростить работу с СТА (чтобы не нужно было делать папки out1 и out2) - если воспользоваться программой Separator http://tinyurl.com/ycvm85z от 57an - но 57an не сделал к ней инструкции, да ещё там требуется пакет .NET для работы - так что я не могу такой вариант советовать.

P.S. Может, кто из участников форума что-нибудь ещё посоветует - по поводу обработки таких сканов.

Я надеюсь, что в будущем вся эта технология (которую я тут обрисовал) будет упрощаться - по мере развития DjVu-книгосканировочных программ.

53
DjVu / Программа DjVu Small
« : 24 јРав 2010, 23:27:11 »
Впервые за несколько лет создана очередная новая версия программы DjVu Small - 0.4.

DjVu Small - это компактный и удобный кодировщик в/из DjVu. Работает как под Windows 98, так и под Windows XP.

Скачать:

DjVu Small v0.4

http://www.djvu-soft.narod.ru/soft/djvu_small_v0_4.rar  (1,44 МБ)

Исходники:

http://www.djvu-soft.narod.ru/soft/djvu_small_v0_4_src.rar  (51 КБ)

Что нового:

1. Убрана консольная утилита phototodjvu.exe (и та часть интерфейса, которая ею управляла).

Причина в том, что практически вся функциональность phototodjvu.exe эквивалентно заменяется сочетанием "documenttodjvu.exe + любой Photo-профиль". Единственная разница - у phototodjvu.exe имеется опция -jpeg - которой нет у documenttodjvu.exe. Эта опция позволяет создавать псевдо-DjVu в виде JPEG-файла, упакованного в DjVu-оболочку. Понятное дело, что никто и никогда данной опцией не пользовался - поэтому её отсутствие теперь будет абсолютно неощутимо (а если вдруг кому потребуется - пусть воспользуется прежними версиями программы).

2. "По многочисленным просьбам книгосканирующих" :) сделана постраничная индикация (в реальном времени) процесса DjVu-кодирования. Теперь, при кодировании в DjVu множества графических файлов, программа будет постранично показывать ход кодирования.

Эта функциональность реализована на базе набора Testdd http://www.djvu-soft.narod.ru/soft/testdd.rar  (1,34 МБ). А именно, здесь используется documenttodjvu.exe (уже вылеченный), который был дополнительно специальным образом пропатчен так, чтобы отломать там буферизацию протокольных сообщений. Чтобы не было путаницы, я переименовал его в этой версии DjVu Small в "documenttodjvum.exe".

Авторы documenttodjvum.exe:
Идея: kontiky.
Реализация: Griefin.

Пользуясь случаем, хочу выразить им огромную признательность за создание подобной утилиты. Думаю, им будет приятно осознавать, что их труды не пропали даром, и они (их труды) нашли свою реализацию (в данной версии DjVu Small).

3. Сделана постраничная индикация (в реальном времени) процесса DjVu-декодирования. Это сделано аналогично тому, как это сделано в DjVuOCR: для каждой страницы многостраничного DjVu-файла утилита djvudecode.exe вызывается отдельно. Такой подход даёт положительный побочный эффект: если некоторые страницы многостраничного DjVu-файла оказываются повреждёнными - то теперь DjVu Small просто пропустит их - и всё равно декодирует все нормальные страницы (выведя в лог-окне соответствующие сообщения об ошибках). Кстати, DjVuOCR тоже так умеет (т.е. пропускать повреждённые страницы многостраничного DjVu-файла). Собственно, данные идеи о DjVu-декодировании были почерпнуты именно из DjVuOCR.

Техническая подробность: для подсчёта количества страниц в DjVu-файле (одно- или многостраничном) (для нужд DjVu-декодирования) использован код утилиты djvucount http://www.djvu-soft.narod.ru/soft/djvucount.rar (16 КБ).

В качестве примера я выкладываю пример многостраничного DjVu-файла, имеющего 2 повреждённые страницы: 7-ю и 36-ю (сделано специально через WinHex):

http://www.djvu-soft.narod.ru/scan/error_djvu2.rar  (449 КБ)

Попробуйте декодировать этот файл в DjVu Small v0.4 и увидите сами всё, о чём я тут написал.

4. Сделана полной совместимость DjVu Small с программами DjVu Imager и DjVu Sep. Конкретно имеется в виду то, что теперь в DjVu Small встроено 2 настраиваемых фильтра для отсева при открытии нужных (точнее, ненужных :) ) имён файлов. Ранее таких фильтров не было, что предполагало исключительно одну-единственную "стандартную" схему именования подобных файлов (точнее 2 таких схемы - по одной на DjVu Imager и DjVu Sep).

5. Добавлено свойство Drag'n'Drop для ярлычка на программу. То есть, если Вы теперь сделаете ярлык на DjVu Small.exe, скажем, на Рабочий Стол - то сможете отныне "бросать" на этот ярлык графические файлы (один или несколько), папку с ними, или DjVu-файл. При этом программа запустится, "брошенные" объекты сами занесутся в список файлов, и режим кодирования сам выставится нужным образом (если "бросили" графические файлы - то установится режим "Кодирование в DjVu", если "бросили" DjVu-файл - то установится режим "Декодирование DjVu").

6. Добавлена опция "Открыть графический файл после декодирования" (имеется в виду, в установленном в системе просмотрщике для этого вида графических файлов).

7. На вкладках опций кодирования добавлены всплывающие подсказки - которые показывают название соответствующего ключа командной строки, которым управляет данный визуальный элемент управления. Это особенно удобно при русском интерфейсе - не надо больше гадать "а что это за опция".

8. Полностью русифицированы все протокольные сообщения, которые выводятся в лог-окне программы (при условии, что включён русский интерфейс).

9. В результате устранения многих глюков стало более стабильной система вывода сообщений в лог-окно программы.

10. Устранены множество мелких глюков и недостатков программы.

11. Из числа технических подробностей: полностью переписан движок по работе с INI-файлами настроек и локализации интерфейса. В результате исходные коды стали заметно проще и стройнее - что положительно повлияло на уровень наличия глюков в программе.

Прошу сообщать в этом топике о найденных багах.

54
Давайте обсудим возможные варианты того, по какой системе назначать имена файлам DjVu-книг и какие XMP-метаданные вносить в DjVu-файлы (имеется в виду при самостоятельном создании DjVu-книги).

Сейчас для именования DjVu-файлов используется программа NameCreator http://www.djvu-soft.narod.ru/soft/namecreator.htm .

Есть мнение, что она уже немного устарела.

Идея топика в том, чтобы разработать на базе NameCreator некую новую программу (разумеется, свободно-бесплатную с открытыми исходниками), которая будет как генерировать имя файла для создаваемой DjVu-книги (по некоей системе), так и одновременно при этом позволять записывать XMP-метаданные в этот же самый DjVu-файл (причём будет соблюдаться некое соответствие между именем DjVu-файла и его XMP-метаданными).

(В продолжение темы http://www.djvu-scan.ru/forum/index.php?topic=34.msg262#msg262)

20.03.10
Тема переименована с "Система именования и метаданных DjVu" на "Программа для генерации наименования и метаданных DjVu".

Смысл данной темы - разработка и создание реальной программы, которая будет генерировать "говорящее" имя файла DjVu-книги + XMP-метаданные в этой DjVu-книге.


18.08.10
Тема переименована с "Система именования и метаданных DjVu" на "Программа для генерации наименования и метаданных DjVu и PDF".

55
DjVu / Статья "Celartem Document Express 7 Enterprise" от Rainhaart
« : 17 ДХТаРЫм 2010, 15:35:43 »
Эта тема специально создана для обсуждения статьи:

Celartem Document Express 7 Enterprise

Автор: Rainhaart.

Адрес статьи:

http://www.djvu-soft.narod.ru/scan/dee_7_rainhaart.htm

Примечание: статья была прислана мне автором для публикации, я лишь сконвертировал её из DOC в HTM (и выложил на своём сайте).

56
Кроме обычного сканирования-фотографирования, книги можно было бы, теоретически, оцифровывать и другими способами. Мне известны такие:

1. Есть такая технология - "лазерное сканирование". Даёт картинку в 3D. Возможно, полезно было бы для исправления искривленных строк.

2. Томограф. Это я сам придумал - "книжный томограф".  :) Сканирование страниц книги, даже не раскрывая её.

3. Инфракрасное фотографирование. Патент Google. Что-то там ради улучшенного исправления искривленных строк. А принцип непонятен...  ::)

Давайте обсудим. Может, кто ещё что знает по теме?

57
Флейм / Впечатление о проекте diybookscanner.org
« : 21 ПЭТРам 2010, 19:02:17 »
http://www.diybookscanner.org/ - это частный англоязычный проект, где существует форум, занимающийся разработкой самодельных фотосканеров для книг.

К сожалению, я вынужден высказать много нехороших слов по поводу этого проекта.

При ближайшем общении с авторами проекта довольно быстро выяснилось, что это небольшая группа молодых людей (американцы), которые настроены довольно неконструктивно и недружественно.

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

Проблема, как мне кажется, даже не в заметной разнице в менталитете (российском и американском). Проблема, на мой взгляд, в личностях хозяев форума http://www.diybookscanner.org/ . Простые, грубоватые парни, не понимающие никаких "сантиментов".

И мне ещё очень сильно не понравилось то, что написано на их странице http://www.diybookscanner.org/ :
Цитировать
Our community has developed a whole ecosystem of scanner designs ranging from crude and expedient to polished and highly sophisticated. We've also helped develop and document free, Open-Source software to post-process the images. Our members include programmers, mechanical engineers, historians, book lovers, copyfighters, and people who've never handled a soldering iron. Together, we're addressing the first part of the digital books problem: the means of scanning. And we've only been at this since June of 2009. The scanners you see below were all developed for a purpose -- some for documenting history, some for helping the disabled read, some to make space in book-cramped homes, some to keep the peace in villages. Some for fun. There are as many reasons to build book scanners as there are book scanners.
На мой личный взгляд, от этих слов веет просто исключительным надменным самодовольством. Вот пример:
Цитировать
Our community has developed a whole ecosystem of scanner designs ranging from crude and expedient to polished and highly sophisticated.
Перевожу:
Цитировать
Наше сообщество разработало целую экосистему конструкций сканеров, начиная от больших и примитивных, кончая утончёнными и проработанными
Получается, что в этой фразе они выставляют себя практически создателями и самодельных фотосканеров, и технологий книгосканирования (поскольку понятие "конструкция сканера" включает в себя в т.ч. программное обеспечение к нему).
А в качестве программного обеспечения они используют Scan Tailor - который, в сущности, был создан в рамках и трудами русскоговорящего DjVu-книгосканировочного сообщества - но отнюдь не силами сообщества на их форуме.

С их слов выходит так, что не будь их форума - так и ничего этого не было бы. Какое просто нахально-надменное самодовольство. Всё-таки редкий человек написал бы именно в такой тональности. Ведь можно было написать всё то же самое - но более "политкорректно", если так можно выразиться - без хвастовства и искажения фактов.

Другой пример:
Цитировать
Our members include programmers, mechanical engineers, historians, book lovers, copyfighters, and people who've never handled a soldering iron.
Перевожу:
Цитировать
Наши члены включают в себя программистов, инженеров, историков, книголюбов, борцов против копирайта, и тех, кто никогда не держал паяльник в руке
Извините - а автор Scan Tailor - это что, по-Вашему, тоже член Вашего сообщества? А по-моему, нет - все знают, что Scan Tailor был создан в рамках и трудами русскоговорящего DjVu-книгосканировочного сообщества. Да и вообще - какое-то хвастовство - перечислять своих членов. А такие они уж их члены (их сообщества)? Написали бы просто: на нашем форуме бывают люди такие-то и такие-то, они занимаются тем-то и тем-то.

В общем, любыми путями подводится мысль, какие мы (основатели форума), дескать, крутые, всех собрали-организовали, и без нас - никуда (а негласно далее: "и поэтому все заткнитесь, и делайте лишь то, что мы сочтём правильным, мы же - самые главные, и самые крутые" ).

Уже даже из одной этой их текстовки ясно, что это за птицы, и чего от них ожидать.

Короче, мой общий вывод таков: никакое тесное сотрудничество с http://www.diybookscanner.org/ невозможно. В лучшем случае, чисто формальное взаимодействие. А какое может быть сотрудничество с людьми, с которыми невозможно разговаривать - они ведут себя совершенно по-диктаторски и не "по-джентельменски".

Конечно, не все деятели книгосканирования Запада таковы. Там есть много прекрасных и замечательных людей, с которыми можно тесно сотрудничать.

Эта же публика оказалась просто каким-то исключением из правил - у меня они вызвали впечатление озлобленных маргиналов.

То, чем они занимаются - разработка самодельных фотосканеров - дело, с моей точки зрения, полезное. Просто нужно чётко понимать - что они - это не те люди, с которыми следует иметь хоть какие-то дела.

Может, мне следует организовать на этом форуме (DjVu-Scan Forum) раздел, посвящённый самодельным фотосканерам? А то, получаемся какой-то нехороший монополизм - есть лишь http://www.diybookscanner.org/ по этой теме - и больше никого.

Может, я не прав, и сам уже "с катушек съехал" и возвожу на "нормальных людей напраслину"?

Просто всё то, о чём я тут высказался, далеко неочевидно - при поверхностном знакомстве с проектом http://www.diybookscanner.org/ . Но, у меня всё же многолетний опыт сетевого общения с самыми разными людьми - и таких оголтелых личностей я встречаю, пожалуй, впервые. Просто даже как-то странно и удивительно, что вот такие люди попались.

Кто-то может сказать - что это, мол, Вы, "к каким-то малосущественным мелочам придираетесь, зато ведь они что-то делают практически".

Я же думаю - это не мелочи. Это очень важно и существенно. Ведь всё это означает невозможность полноценного сотрудничества с ними.

Приглашаю желающих высказать своё мнение.

58
Общий / Second Djvu Summit Conference At Rutgers University Videos
« : 15 ПЭТРам 2010, 12:01:07 »
Я сделал зеркало видеоматериалов, выложенных тут: http://www.djvu.org/forum/phpbb/viewtopic.php?t=608 . Это видеозапись  в формате DIVX:

Second Djvu Summit Conference At Rutgers University (2005-05-16)

Или же по-русски:

Вторая сборная DjVu-конференция в Университете Рутгерс (16 мая 2005 г.)

Зеркало сделано на ifolder.ru - так что эти файлы практически никогда оттуда не самоудалятся от времени (это особенность именно ifolder.ru).

Файлы на зеркале оформлены как архивные WinRAR-тома по 100 МБ каждый. Общий размер - 1,41 ГБ.

Скачать:

http://ifolder.ru/f431427

Описание:

Текстовое описание этой конференции имеется тут: http://tabula.rutgers.edu/conferences/djvu2/

Видеозапись показывает выступления различных участников (съехавшихся специально из разных стран), порядка 5-7 выступающих, сопровождаемые порой показом слайдов на видеопроекторе. Ведущий - Джим Райли.

К сожалению, качество видеозаписи просто отвратительное - на грани "хуже некуда". Съёмки были сделаны явно обычной бытовой видеокамерой на треноге. Видеокамера, конечно же, не цифровая (таких тогда ещё не было). Цвета - тёмные и убогие (помещение темновато), резкость - скверная, изображение размыто, но, самое ужасное - звук. Почти ничего не возможно разобрать - что говорят участники. Никто, видно, не додумался использовать выносной микрофон для видеокамеры и подсовывать его прямо под рты выступающих :o, запись звука ведётся явно на встроенный в видеокамеру микрофон  :o - с расстояния от говорящих 5-7 метров!!! :'(

Короче, моё общее резюме таково: скачивать и смотреть ЭТО не стоит - смысла практически никакого. Разве что посмотреть на то, как выглядят некоторые основные западные DjVu-деятели.

P.S. Сейчас DVD-рипы кинофильмов "весят" столько же, сколько и эта видеозапись, а качество - небо и земля. :-\

59
Сканобработка / Программа ST GreyText
« : 14 ПЭТРам 2010, 19:25:13 »
Я сделал новую программу:

ST GreyText v1.0

Скачать:

http://www.djvu-soft.narod.ru/soft/st_greytext_v1_0.rar  (470 КБ)

Исходники:

http://www.djvu-soft.narod.ru/soft/st_greytext_v1_0_src.rar  (36 КБ)

Лицензия - GPL 2.

Примечание: эта программа может быть нужной исключительно в тех случаях, когда в Scan Tailor обрабатываются сканы, содержащие полутоновые иллюстрации. Если же полутоновых иллюстраций на исходных сырых сканах нет - то эта программа не нужна в принципе.

Описание:

Программа ST GreyText является вспомогательной программой для Scan Tailor'а, модифицированного anagnost96 (STA).

ST GreyText расширяет возможности STA.

STA на стадии "Вывод" в режиме "Смешанный" имеет опцию вывода "Только текст". При этой опции СТА выводит чёрно-белые сканы, из которых вырезаны полутоновые картинки.

ST GreyText даёт возможность получить аналогичные сканы - только в режиме серого. На вид они получаются как обрезанные в СТА серые сканы с текстом, содержащие белые "окна" в тех местах, откуда были вырезаны картинки.

Принцип работы

Для создания серых сканов, из которых вырезаны полутоновые картинки, ST GreyText делает простую манипуляцию:

1. Берёт порезанные серые сканы, полученные в STA на стадии "Вывод" в режиме "Цветной / Серый".

2. Берёт порезанные сканы с картинками, полученные в STA на стадии "Вывод" в режиме "Смешанный" с опцией "Только изображения".

3. Комбинирует их в новую группу сканов (готовая продукция) по принципу: для каждого пикселя из п.2 , если он белый - то в результат отправляется соответствующий пиксель из п.1, а если нет - то белый пиксель. Т.е. сканы из п.2 используются чисто как шаблон-трафаретка для выбора нужных пикселей из п.1.

Использование

1. В STA создайте сканы по п.1 из "Принцип работы". Скопируйте их в отдельную папку. Скажем, С:\1.

2. В STA создайте сканы по п.2 из "Принцип работы". Скопируйте их в отдельную папку. Скажем, С:\2.

3. Откройте ST GreyText. Нажмите на кнопку "Open grey / color scans folder" и выберите папку из п.1 (С:\1).

При этом автоматически заполнится поле Output - к пути к папке из п.1 (С:\1) добавится подпапка "grey_texts" - получится "С:\1\grey_texts\". Туда будет впоследствии помещён результат.

4. Нажмите на кнопку "Open pictures folder" и выберите папку из п.2 (С:\2).

5. Нажмите на кнопку "Create grey texts" и подождите, пока не появится сообщение "Processing ended". Ждать, возможно, прийдётся долго - в зависимости от количества сканов. Пока нет никакой индикации постраничного создания новых сканов.

Примечания

Программа написана на скорую руку и поэтому весьма чувствительна к любого рода ошибочным ситуациям (чуть что не так - будет просто вылетать).

Должны соблюдаться следующие условия:

1. Количество и имена файлов в папках из п.1 из "Использование" (С:\1) и п.2 из "Использование" (С:\2) должны совпадать. Иначе - вылет программы.

Но это условие обычно обеспечивается автоматом - при использовании СТА в его нынешнем виде.

Где взять STA: тут - http://www.djvu-soft.narod.ru/soft/ . Он там называется что-то вроде "Scan Tailor anagnost96".

Имейте в виду, что обычный Scan Tailor не подойдёт (актуальная версия обычного Scan Tailor - 0.9.7.1).

Зачем всё это нужно (т.е. программа ST GreyText)

Серые сканы, из которых вырезаны полутоновые картинки, нужны для тех случаев, когда у нас книга содержит полутоновые иллюстрации (обрабатываемые STA), а STA их обрабатывает недостаточно качественно.

Тогда-то мы и создаём серые сканы, из которых вырезаны полутоновые картинки (при помощи ST GreyText), и обрабатываем их как хотим в любой сторонней программе (яркий пример - выравнивание освещения и выпрямление искривленных строк в Book Restorer 4.2.1) и в конечном итоге бинаризуем.

Это значит, что после их бинаризации мы получаем т.н. передние субсканы - которые можно задежавючить по методу разделённых сканов http://www.djvu-soft.narod.ru/scan/djvu_imager.htm (соответствующие им задние субсканы у нас уже есть - они получены по п.2 из "Принцип работы").

Программа ST GreyText появилась на свет из-за того, что ни сам Scan Tailor, ни STA не имеют такой функциональности.

Надеюсь, в будущем эта ситуация изменится (т.е. функциональность STA и ST GreyText перейдёт в основной Scan Tailor - что крайне необходимо сделать - чем скорее, тем лучше), и программа ST GreyText станет просто не нужна (чего я ей и желаю).

60
Данный топик создан для обсуждения любых общих вопросов касательно сканирования книг.

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

Страницы: 1 2 3 [4] 5