ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Gleb Kulikov <glebus@asd.iao.ru>
To: ALT Linux Community <community@lists.altlinux.org>
Subject: Re: [Comm] djvu: я извращенец?
Date: Thu, 6 Jul 2006 19:00:26 +0700
Message-ID: <200607061900.27548.glebus@asd.iao.ru> (raw)
In-Reply-To: <44ACF984.4030709@rambler.ru>

В сообщении от Четверг 06 Июль 2006 18:52 Yury Aliaev написал:
> кол-во цветов без заметной потери качества уменьшается до 16. Я сделал

> потом встал вопрос: можно ли их запихать на одну djvu'шную страницу
> просветит меня, это ограничение формата djvu как такового, утилит djvu
> libre или же всё-таки это можно как-то сделать?

Формат djvu как раз и разрабатывался как "многослойный" для помещения на одну 
страничку графики с разным разрешением. К сожалению, djvulibre -- "весьма 
базовая" реализация, и делать качественное сжатие, не умеют. Связано это с 
тем, что по словам разработчиков (см. форум на сайте), "нет открытого 
(свободного) сегментатора".

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

Обойти ограничения djvulibre можно (во всяком случае, я делаю именно так и со 
вполне удовлетворительными результатми) так:

1) сканированное изображение подвергается трассировке potrace, результат 
сохраняется как .pgm (ращумеется, надо подобрать порог и флаг инверсности)
2) .pgm ->преобразуется->mask.djvu (чёрно-белое, посредством cjb2) и 
используется в качестве маски для выделения важных деталей
3) остальное изображение преобразутся ->.ppm
4) маска mask.djvu и исходный кадр .ppm, скармливаются совместно утилите 
djvumake, которая и собирает конечную страничку.

Результат сильно зависит от типа изображения, но на наиболее распространённых, 
вполне сравним с коммерческими кодировщиками. Быстродействие, также страдает 
н очень: если книга страниц в 300, собирается сjb2 на моей машине за 25, 
макс.  40 минут, то вставка вышеописаных шагов, увеличивает потребное время 
не более, чем до часа (а обычно, собирается за те же пол-часа с небольшим).

А вот cpaldjvu, мн кажется, вообще неработоспособна: время, которая она 
затрачивает на сборку одной страницы о 16 цветах, не лезет ни в какие ворота.
 
-- 
      Салют, /GLeb

UIN: 15341920
jabber://gleb@asd.iao.ru
skype://gleb_kulikov.tomsk
sip:    20000204@sip.pctel.ru
netmail: 2:5005/78


  reply	other threads:[~2006-07-06 12:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-06 11:52 Yury Aliaev
2006-07-06 12:00 ` Gleb Kulikov [this message]
2006-07-06 13:20   ` Yury Aliaev
2006-07-06 15:44     ` Gleb Kulikov
2006-07-07  8:25       ` Yury Aliaev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200607061900.27548.glebus@asd.iao.ru \
    --to=glebus@asd.iao.ru \
    --cc=community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git