Ru-Board.club
← Вернуться в раздел «Программы»

» Scan Tailor

Автор: slava_kry
Дата сообщения: 02.11.2009 19:21
Arcand

Цитата:
А чем Вам не нравятся обычные фильтры:

Размытием и не нравится И да, Дежавю всё "пожуёт", но я рассматривал возможность замены для ПДФ высокого качества без жёсткого ограничения по объёму.

StanFreeWare

Цитата:
Здесь все-таки речь о djvu-книгах, а значит, в основном, о gray scale.

я прекрасно понимаю, но если интересно, попробуйте.
Автор: Olive77
Дата сообщения: 02.11.2009 23:37

Цитата:
Напишите, у кого работает, у кого нет, и в каких конфигурациях (видеокарта + операционная система).

все нормально (nVIDIA Quadro NVS 140M + WS2008).


Впечатления от работы программы:
программа очень даже неплохо справляется с хорошим материалом,
но есть над чем можно / нужно еще поработать

1) В частности, не всегда правильно определяется полезная область, причем в случаях, которые, в общем-то, не должны представлять проблемы.
http://depo_sitfiles.com/files/66ijzhcxw
(То, что далеко от основного текста отстоящая нумерация страниц часто игнорируется, по-видимому, не особо лечится, так что придираться не буду )

2) иногда не правильно определяется угол поворота
http://depo_sitfiles.com/files/kyktuplm5

3) в некоторых случаях бинаризация не справляется.
Н-р, в след. примере http://depo_sitfiles.com/files/97jcutacm
даже выбор бинаризации по минимому (-15; черно-белый режим) не помогает.
Заголовки остаются жирными, так что точки над i не видны.

4) Несколько нервирует (особенно в режиме Output), что при изменении параметров сразу начинается обработка изображения. На мой взгляд, имеет смысл добавить соотв. пункт в установки и дать пользователю самому решать, какое поведение программы ему милее.

5) было бы неплохо, если бы можно было из ST открывать (обработанные) изображения в стороннем графическом редакторе

P.S.: в адресах удалить подчерки.
Автор: Tulon
Дата сообщения: 03.11.2009 01:51
Olive77
Посмотрел ваши примеры - в большинстве из них ничего сделать увы нельзя. Там, где отрезалась левая колонка в оглавлении, возможно помогло бы увеличение разрешения на этапе полезная область (сейчас она делается на 150 DPI), но эта стадия и так самая медленная, не считая вывода.
А сканы то у вас похоже не сырые, иначе как объяснить такие жирные буквы? Или это софт сканера так над ними поработал? Контраст тоже видно что задран. С менее жирными буквами и колонка не обрезалась бы, и качество бинаризации вас бы устроило.


Цитата:
4) Несколько нервирует (особенно в режиме Output), что при изменении параметров сразу начинается обработка изображения. На мой взгляд, имеет смысл добавить соотв. пункт в установки и дать пользователю самому решать, какое поведение программы ему милее.

А какая альтернатива? Показывать в центральной зоне кнопку "Запустить обработку"? Больше ведь там показывать нечего. Думаю, необходимость постоянно тыкать туда вас нервировала бы еще сильнее. Да и в чем вообще проблема? Идущая обработка на ваши действия по подгонке параметров никак не влияет.


Цитата:
5) было бы неплохо, если бы можно было из ST открывать (обработанные) изображения в стороннем графическом редакторе

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

Добавлено:
А 3D ускорение я по умолчанию отключу. Походу нормально оно работает только на более или менее современных картах от NVidia. У меня на Intel'овской карте под Linux те же проблемы, что и у StanFreeWare на ATI под виндой, а на древнем ноуте с Radeon 9200 оно в принципе работает, но очень медленно, и с артефактами.
Автор: ndch
Дата сообщения: 03.11.2009 07:33
Tulon

Цитата:
А 3D ускорение я по умолчанию отключу. Походу нормально оно работает только на более или менее современных картах от NVidia.

У меня мышь "замирает". Это ненормально.
Автор: IvanStorogev
Дата сообщения: 03.11.2009 09:09
2U235
Но в качестве примера Вы почему-то приводите "ненастроенный" на "звездочки" спектра фильтр.
О чем честно и сказал. Пример делался за 5 минут, лень было делать настроенный фильтр. Кроме того узкополосные направленные фильтры имеют свои проблемы.

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

Предлагаю перенести обсуждение методов удаления растра сюда:
http://forum.ru-board.com/topic.cgi?forum=93&bm=1&topic=3172&start=200#lt

Если бы кто-то перенес туда соответствующие посты, было бы хорошо. Я не умею, да и прав наверняка нет.


2StanFreeWare

Цитата:
Понятно, что в общем случае основа алгоритма - это фильтрация + последующая обработка порогом. Но, возможно, для моего случая можно придумать что-то относительно простое алгоритмически, оставляющее только одноцветный серый фон и текст на нем.
Например так:
...
1. Определяем среднюю яркость серого участка.
2. Порог, чтобы остался только текст и самые черные точки в серой части.
3. Пылесосим точки и шлифуем буквы.
5. Накладываем фон цветом, определенным на шаге 1.

Попробуйте операцию multi-thresholding для разделения зон. Вообще почему бы Вам не попробовать свои идеи на практике и потом не поделиться? Для экспериментов рекомендую пакет Pandore (в нем более 300 операторов обработки изображения и можно писать свои), замечательную программу G'Mic и старый-добрый NIP2/VIPS.


Цитата:
А алгоритмы опробывать не на абстрактном куске электронных часов, а на странице-убийце. Если результат в серой части после djvu будет не хуже заголовка той же страницы (он на белом фоне), тогда и можно будет говорить об алгоритме в контексте Scan Tailor. Иначе тема забьется флудом (хотя местами и очень познавательным).

Ваша страница-убийца отсканирована с разрешением 300 dpi, а растр на ней мелкий. Это делает малоэффективной её фильтрацию. Если Вы хотите, чтобы я поэксперементировал и, возможно, что-то предложил — отсканируйте с разрешением не ниже 600 dpi и, без всякой обработки, выложите. Тогда можно будет что-то попробовать.
Автор: Olive77
Дата сообщения: 03.11.2009 09:37
Tulon

Цитата:
А сканы то у вас похоже не сырые, иначе как объяснить такие жирные буквы? Или это софт сканера так над ними поработал?

сканировал с помощью Vuescan.
С контрастом, точками белого и черного не работал, поскольку scankromsator справляется с такими сканами без проблем (по крайней мере точки над i он отделил).
С другой стороны в интернете встречаются и сканы существенно более плохого качества, так что можно расматривать предоставленные сканы как своеобразный тест (для чего скан p227.tif в общем-то и создавался).


Цитата:
А какая альтернатива? Показывать в центральной зоне кнопку "Запустить обработку"? Больше ведь там показывать нечего. Думаю, необходимость постоянно тыкать туда вас нервировала бы еще сильнее.

В чем-то Вы, конечно, правы.
Я сделал этот комментарий в связи с тем, что иногда при передвижении ползунка бинеризации в режиме output, мышка соскакивает, что приводит к потере времени.
Также заметил, что программа начинает новую обработку, как только ползунок был передвинут, но мышка еще на была отпущена.

В качестве альтернативы (зерно сомнения в ее необходимости Вы, конечно, посеяли), можно было бы предложить начинать новую обработку изображения при использовании комбинации зажатой shift + нажатия на иконку со стрелкой (которая уже присутствует)


Цитата:
При текущем состоянии дел это не прокатит, потому что ST запоминает размер файла и время последней модификации, чтобы решать, в каких случаях файл нужно перегенерировать, а в каких нет.

пожет всё же покумекаете?
Было бы на самом деле очень удобно. (Или есть в близжайших планах внедрение в СТ библиотеки по полноценной обработки изображений?)
Идеальных сканов практически не существует, и дело тут не только в качестве скана, но и в уровне сложности исходного материала ака книги.
Посему довольно часто будут возникать ситуации, что надо будет исправлять огрехи, с которыми СТ не справился.
Вообще у меня возникло впечятление, что желание отловить, когда надо автоматически перегенерировать файл, связанно с некоторыми неудобствами/ограничениями для пользователя (суда же попадает пред. пункт).

Почему бы Вам не сделать как в большинстве надстроек для photoshopa, где есть два режима, один для тех кто не желает разбираться в программе и второй продвинутый, позволяющий при хорошем знании программы получать (существенно) более хорошие результаты.
Пункт установки у Вас уже появился.
Автор: slava_kry
Дата сообщения: 03.11.2009 09:45
IvanStorogev
Вот для тестов 600 dpi 7,5 мегов:
Автор: IvanStorogev
Дата сообщения: 03.11.2009 10:22
2slava_kry
Все же надо бы tiff выложить...
Автор: estimated
Дата сообщения: 03.11.2009 10:27
IvanStorogev

Цитата:
Для экспериментов рекомендую пакет Pandore

А что это за пакет? Можно ссылку?
Автор: IvanStorogev
Дата сообщения: 03.11.2009 11:12
2estimated

Цитата:
А что это за пакет? Можно ссылку?

А Гугль на что?
Pandore
G'Mic
ImageMagic


Добавлено:
2StanFreeWare
Ваша страница-убийца. Denoise with a patch-averaging procedure + erode/dilate

Если бы dpi при сканирование было бы больше, качество было бы выше.
Автор: Olive77
Дата сообщения: 03.11.2009 11:34
IvanStorogev

Цитата:
Предлагаю перенести обсуждение методов удаления растра сюда:
http://forum.ru-board.com/topic.cgi?forum=93&bm=1&topic=3172&start=200#lt
Если бы кто-то перенес туда соответствующие посты, было бы хорошо. Я не умею, да и прав наверняка нет.

достаточно отвечать в соотвествующем топике со ссылкой на то, где была начата дискуссия.
Автор: estimated
Дата сообщения: 03.11.2009 11:48
IvanStorogev: спасибо. Просто Pandore с наскоку не нашлась
Автор: slava_kry
Дата сообщения: 03.11.2009 13:16
IvanStorogev

Цитата:
Все же надо бы tiff выложить...

хорошо из дома вышлю ссылку в ПМ.
Автор: domo22
Дата сообщения: 03.11.2009 14:21
Tulon

Цитата:
Либо одно либо другое - либо свобода действий, либо процесс, не вызывающий вопросов

Странно это все. Почему нельзя и так и так? Почему обязательно либо то, либо другое... Кому-то лучше стандартный путь, кому-то - свой. Ведь так было и будет всегда. Подумайте еще раз, может что-то и сделаете.
Автор: StanFreeWare
Дата сообщения: 03.11.2009 19:22
IvanStorogev
Denoise with a patch-averaging procedure + erode/dilate где? В какой программе?
Результат удвоения dpi + 10-пиксельный гаусс + порог 137 на 255:

Серый планирую наложить позднее, используя информацию о серых зонах от ST
Автор: IvanStorogev
Дата сообщения: 03.11.2009 21:41
2StanFreeWare

Цитата:
Denoise with a patch-averaging procedure + erode/dilate где? В какой программе?

Фильтром G'Mic (есть и консольная версия) в Gimp выделил очистил буквы от фона. Заливка серым вручную, но эту область можно выделить автоматически.
Автор: StanFreeWare
Дата сообщения: 04.11.2009 05:34
Tulon
Небольшие предложения по панели со списком страниц:
1. Отображать (например, в нижней части панели) количество выбранных страниц.
2. Если есть несколько выбранных страниц, запускать плей только для них.
Автор: Tulon
Дата сообщения: 04.11.2009 09:24
StanFreeWare

Цитата:
Небольшие предложения по панели со списком страниц:
1. Отображать (например, в нижней части панели) количество выбранных страниц.
2. Если есть несколько выбранных страниц, запускать плей только для них.

Это наверное можно, но уже не в этом релизе.
Автор: qugeel
Дата сообщения: 04.11.2009 10:13
За право площади (лента предпросмотра) - добавить Перейти на начало / конец

Спасибо за программу!
Автор: StanFreeWare
Дата сообщения: 04.11.2009 14:48
qugeel
Логичнее добавить обработчики клавиш Home и End (к имеющимся PgUp и PgDown).
Автор: Mandor Sawall
Дата сообщения: 05.11.2009 08:01
Ну, раз ушли в мелькие пожелания, добавлю и я:
– В етап "поворот страниц" добавить возможност приложить только к четные/нечетные страницы.

Сейчась приходиться делать все два раза – отдельно для четные и нечетные.
Автор: Tulon
Дата сообщения: 05.11.2009 09:41
Mandor Sawall

Цитата:
Ну, раз ушли в мелькие пожелания, добавлю и я:
– В етап "поворот страниц" добавить возможност приложить только к четные/нечетные страницы.

Такое уже есть. В диалоге "Применить к " для данного этапа имеется вариант "Применить к каждой второй странице". Соответственно становитесь на четную страницу -> применить к каждой второй -> применяются ко всем четным. Становитесь на нечетную - соответственно к нечетным.
Автор: Mandor Sawall
Дата сообщения: 05.11.2009 15:01
Tulon
Извините, не понимаю – поставил 0.9.7rc1; на етапе "Fix Orientation" есть:
– This page only
– All pages
– This page and following ones
– Every other page
– Selected pages
– Every other selected pages.


Добавлено:
Попробовал все – оказалось, что ето "Every other page". По болгарски написано что-то вроде "Все другие страницы", что, по моему, нормальной перевод.
Автор: StanFreeWare
Дата сообщения: 05.11.2009 19:11
Mandor Sawall
Наверное, сложно описать это действие в двух словах, чтобы смысл не ускользнул.
Для неангличанина, возможно, понятнее было бы что-то типа
Every second page including this page.
(прошу прощения за мой английский)
Хотя, англичане, наверное, поймут, что other = вторая, а не другая.
Автор: Tulon
Дата сообщения: 05.11.2009 22:01
По поводу "Every other page": по английски это по моему лучший вариант. Чтобы переводчики не путались, можно добавить комментарий, который будет показывать Qt Linguist. Я кстати уже попросил переводчика на болгарский поправить перевод в этом месте. Что же касается неангличан, использующих английский интерфейс, ну что я могу поделать? Не говорят тут "every second ..." и все тут.

StanFreeWare
Вспомнил, что вы изъявляли желание поработать над документацией. Дал вам права редактирования wiki на sourceforge. Кстати право создавать новые страницы есть у всех. Другое дело, что в большинстве случаев нужно дополнять и править существующие страницы, а не создавать новые. Если кто еще хочет поработать над документацией - пишите сюда или в личку.
Автор: StanFreeWare
Дата сообщения: 06.11.2009 04:52
Tulon
Спасибо за доступ к редактированию wiki. Уже правлю.

Начинаю (мелочные?) придирки к интерфейсу.

wiki:
Стадия "Исправление ориентации"...
..что запускать пакетную обработку на данной стадии бесполезно - это будет холостой прогон.

А зачем же тогда вообще нужна кнопка запуска пакетной обработки?

Стадия "Разрезка страниц"

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

Ну почему было просто не добавить четвертый тип разреза?


Хотя по сравнению с пылесосом без регулировки силы всаса это все мелочи.

Добавлено:
Нашел небольшой глючёк:
В режиме "Разрезка страниц" при переходе из второго в первый тип разреза не засеряется содержимое поля "Разделительная линия".

И все-таки ЛК для скролла, особенно когда рисуешь зоны - это зло. Как-то плохо распознались блекло-серые лампочки (обозначали типа идеи автора) в книжке - пришлось их обводить зонами на 30 страницах вручную. Вот там-то все недостатки 0.4 секундной задержки всплыли в полной мере.
Автор: Tulon
Дата сообщения: 06.11.2009 09:59
StanFreeWare

Цитата:
А зачем же тогда вообще нужна кнопка запуска пакетной обработки?

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


Цитата:
По-моему, вы сами себя перехитрили. Зеленая стрелочка, которая то кнопка, то не кнопка. Причем когда она кнопка понять, что это кнопка, не наведя на стрелочку, невозможно. А индикаторы положения линии разреза выглядят точь-точь как кнопки, но кнопками не являются.

Ну почему было просто не добавить четвертый тип разреза?

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


Цитата:
В режиме "Разрезка страниц" при переходе из второго в первый тип разреза не засеряется содержимое поля "Разделительная линия".

Поправлю.


Цитата:
И все-таки ЛК для скролла, особенно когда рисуешь зоны - это зло. Как-то плохо распознались блекло-серые лампочки (обозначали типа идеи автора) в книжке - пришлось их обводить зонами на 30 страницах вручную. Вот там-то все недостатки 0.4 секундной задержки всплыли в полной мере.

Объясните поподробнее, что происходит. Не всегда клик распознается как добавление вершины? У вас мышь или touchpad?
Кстати в последней версии есть и второй критерий - длинное нажатие но практически без движения - точка будет добавлена.
Автор: ndch
Дата сообщения: 06.11.2009 11:44
Tulon
Может быть сделать мини-FAQ ?

Q: Стадия "Исправление ориентации".
Зачем нужна кнопка запуска пакетной обработки, ведь запускать бесполезно - будет холостой прогон ?
A: Для однообразности интерфейса.
Чтобы новички быстро разобрались с концепцией пакетной обработки.
Что бы не спрашивали, почему на этом этапе нет кнопки.

Добавлено:
Вопрос ведь задаётся не впервые.
Автор: StanFreeWare
Дата сообщения: 06.11.2009 13:19

Цитата:
Объясните поподробнее, что происходит. Не всегда клик распознается как добавление вершины? У вас мышь или touchpad?
Кстати в последней версии есть и второй критерий - длинное нажатие но практически без движения - точка будет добавлена.

У меня мышь. И почти каждый второй клик не добавляет вершину. Но если кликать по-STшному, т.е. кликнуть и чуть подержать, то все ОК. Но неудобно и небыстро. И такие мучения только чтобы перетаскивать экран с помощью ЛК? Пустое.. Нажатия колеса + полос прокрутки за глаза. Хотя именно в режиме зон ни первого, ни второго пока не наблюдаю...
Кстати, ложные перемещение экрана иногда продолжаются и при отжатой ЛК мышки. Особенно заметно на большом масштабе. Т.е. одновременно и рисуется следующее ребро многогранника, и перемещается экран.

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

А зеленая стрелочка мне все равно не нравится. Что она делает - показывает текущее расположение рабочей зоны, или показывает, что нужно нажать на стрелку, чтобы получить такое ее расположение? Я бы запутался.

Добавлено:
Глючек?
Стадия "Разрезка страниц"
Тип разреза - одностраничный скан с соседкой. Разделительная линия - вручную. Переходим на двухстраничный тип. Линия и ее режим остаются. Возвращаемся на одностраничный скан с соседкой - перескакивает в автоматический режим линии. Т.е. имеется в виду, что нарисованная пользователем для одностраничного скана с соседкой разделительная линия двухстраничному скану подходит, но обратное - неверно?
Автор: Tulon
Дата сообщения: 06.11.2009 22:50
ndch

Цитата:
Может быть сделать мини-FAQ ?

Так и реальный FAQ не такой уж и большой.


Цитата:
Вопрос ведь задаётся не впервые.

Второй или третий. Зададут еще раз - добавлю в FAQ.

StanFreeWare


Цитата:
У меня мышь. И почти каждый второй клик не добавляет вершину. Но если кликать по-STшному, т.е. кликнуть и чуть подержать, то все ОК. Но неудобно и небыстро. И такие мучения только чтобы перетаскивать экран с помощью ЛК? Пустое.. Нажатия колеса + полос прокрутки за глаза.

Для тех, кто не имеет опыта работы с графическими редакторами, драг средней клавишей - это дикость. Переназначать создание вершины на другую клавишу - тоже будет не слишком очевидно. Надо сказать, что мне очень даже нравится драг и создание вершин одной кнопкой - можно создать и подогнать зону одной рукой. Иногда бывает проскакивание вершин, но уж никак не каждый второй раз. Кстати для создания первой вершины в зоне правило "0.4 сек или минимальное движение" не действует - там по прежнему действует станый принцип - если было хоть какое-то движение при нажатой клавише - вершина не создается. Может у вас на первых вершинах и случается больше всего проскакиваний. Это можно поправить.


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

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


Цитата:
Еще было бы понятно, если бы сам поворот отрабатывался по этой кнопке. Но он отрабатывает сразу после применения. Вновь противоречие..

Противоречие с чем? Если можно выполнить операцию мгновенно, она и выполняется мгновенно.


Цитата:
А зеленая стрелочка мне все равно не нравится. Что она делает - показывает текущее расположение рабочей зоны, или показывает, что нужно нажать на стрелку, чтобы получить такое ее расположение? Я бы запутался.

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


Цитата:
лючек?
Стадия "Разрезка страниц"
Тип разреза - одностраничный скан с соседкой. Разделительная линия - вручную. Переходим на двухстраничный тип. Линия и ее режим остаются. Возвращаемся на одностраничный скан с соседкой - перескакивает в автоматический режим линии. Т.е. имеется в виду, что нарисованная пользователем для одностраничного скана с соседкой разделительная линия двухстраничному скану подходит, но обратное - неверно?

Я бы не назвал это багом - это осознанное решение. При переключении из режима "страница с огрызком" в режим "две страницы" и с вручную заданной линией разреза, я рассуждаю так:
Если линия разреза задана вручную, значит она именно там и есть, и пересчитывать ее не нужно. Пользователь хочет режим с двумя страницами? Без проблем - левая слева от линии разреза, а правая справа. В случае обратной ситуации - было две страницы, пользователь хочет одну, я не знаю, какую из половинок брать, и поэтому запускаю полный пересчет. Такой режим, как "на тебе линию разреза, и просто определи, с какой стороны страница, а с какой мусор" - на данный момент не реализован.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Невозможно установить Acronis True Image Home v10.0.4940


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.