OCR форумы Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Форум переведен из кодировки UTF-8 в кодировку WINDOWS-1251. По всем вопросам, связанным с кодировкой текста (появлением «кракозябр»), обращайтесь к Администратору.
The forum is translated from the UTF-8 encoding to the WINDOWS-1251 encoding. For all questions related to the encoding of the text (the appearance of 'krakozyabr'), please contact the Administrator.
 
  ГлавнаяСправкаПоискВходРегистрация Администратор Библиотека  
 
Страниц: 1 ... 15 16 17 18 
Послать Тему Печать
Модификация ScanTailor (Прочитано 179343 раз)
m7876
Постоялец
**
Вне Форума



Сообщений: 96
Re: Модификация ScanTailor
Ответ #480 - 16.11.2020 :: 09:49:26
 
xyz писал(а) 16.11.2020 :: 06:26:25:
m7876
А что значит "на ходу" ?

Это вот так:

...

Цитата:
1.1. Отключение сглаживания для ч/б - предоставление варианта «как есть»
в файле OutputGenerator.cpp закомментировать строчку
Code (C++):
627 morphologicalSmoothInPlace(bw_content, status); 


и
Code (C++):
605 maybe_smoothed = smoothToGrayscale(maybe_normalized, m_dpi); 


заменить на
Code (C++):
605 maybe_smoothed = maybe_normalized; 


можно под это дело выделить кнопку в интерфейсе.

... если m7876 отключит там сглаживание ?

Очень полезная была бы вещь, но на C++ я не программист, тем более с GUI. Скомбинировать могу, но кнопку добавить -- нет...
Наверх
 
 
IP записан
 
Владислав_72
Активист
***
Вне Форума



Сообщений: 319
Москва
Пол: male
Re: Модификация ScanTailor
Ответ #481 - 25.11.2020 :: 21:11:43
 
В модификациях СТ все также вся обработка сканов сделана жестко пошагово или все же можно какие-то операции делать отдельно? Меня интересует операция деспекла ("метлы") по грязи чисто бинарных сканов без последующей повторной бинаризации. Что-то встроенный фильтр ФШ даже при диаметре=1 мне не нравится (ибо там сначала нужно в полутона перегонять). Или есть для ФШ еще фильтры, работающие напрямую с бинарными сканами?
Наверх
 
 
IP записан
 
AlVaKo
Активист
***
Вне Форума



Сообщений: 281
Алма-Ата
Пол: male
Re: Модификация ScanTailor
Ответ #482 - 25.11.2020 :: 23:08:58
 
Владислав_72 писал(а) 25.11.2020 :: 21:11:43:
Меня интересует операция деспекла ("метлы") по грязи чисто бинарных сканов без последующей повторной бинаризации.

Если нет жесткой привязки к СТ и ФШ, то вроде как в СК есть операция "деспекл". У вас какие требования к этой операции? Что должна чистить, что чистить не должна? С учетом некоторых условий, могу предложить ещё одну альтернативу по части "деспекла".  Зависит от ваших основных требований.
Наверх
 

Сложно отбинаризировать черную перемычку на белой бумаге, особенно если её там нет.
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #483 - 26.11.2020 :: 08:22:02
 
Деспеклинг в СТ очень опасный, запросто нужные точки съедает. Им лучше вообще никогда не пользоваться и отключить по дефолту.

Если у вас возникла потребность деспекла, то осваивайте СК.

Особо сложного ничего нет только деспекл безо всего остального там сделать:
- откройте подготовленные ч/б картинки   (меню   файл ->  оупен).
- сбросьте все опции обработки   (четвертая маркировочная кнопка)
- поставьте галочку деспекла (на закладке pages) и кликнув на ней ПКМ выберите "применить ко всем маркированным"
- запустите обработку (кнопка ПРОЦЕСС)
Всё. Четыре действия. Обычно этого достаточно.

Если спеклов много и полученный результат вам не понравился, то перед тем как запустить "процесс" на закладке options  метод деспекла вместо нормального выберите fine+normal.

Если и это не помогло, то через настройки программы можно вручную задать, какого размера спеклы должны удаляться по методу fine.
(Но я сколько книг сделал, никогда ничего там не трогал. Дочищал руками, если где что осталось).





Наверх
 
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #484 - 07.01.2021 :: 07:42:56
 
Я уже как-то просил эту фичу, но ещё раз.

Нельзя ли как-то прикрутить фильтрацию по Гауссу (блур) для обработки картинок.

Лучше всего как опцию при оутпуте. Но можно и как доп.возможность при экспорте слоя картинок.

а) экономится лишний прогон в СК
б) посмотрите как неудачно смотрятся иллюстрации без этого блура в последних выложенных "У карты мира"



Наверх
 
 
IP записан
 
Lykas
Гуру
****
Вне Форума


Всем привет!

Сообщений: 734
Re: Модификация ScanTailor
Ответ #485 - 07.01.2021 :: 22:50:59
 
xyz писал(а) 07.01.2021 :: 07:42:56:
Я уже как-то просил эту фичу, но ещё раз.

Нельзя ли как-то прикрутить фильтрацию по Гауссу (блур) для обработки картинок.

Лучше всего как опцию при оутпуте. Но можно и как доп.возможность при экспорте слоя картинок.

а) экономится лишний прогон в СК
б) посмотрите как неудачно смотрятся иллюстрации без этого блура в последних выложенных "У карты мира"

А что мешает делать это уже после разборки сканов на текст\картинки?
В пакетном режиме редакторы это поддерживают... (раньше сам так делал)
Наверх
 
 
IP записан
 
m7876
Постоялец
**
Вне Форума



Сообщений: 96
Re: Модификация ScanTailor
Ответ #486 - 08.01.2021 :: 03:08:15
 
Или img2djvu:

img2djvu -l 1 -p "-gaussian-blur 0x1" <директория_с_обработанными_сканами>
Наверх
 
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #487 - 08.01.2021 :: 03:34:38
 
Как из чего выкрутиться я знаю. Вроде и мотивировку хотелки расписал:

а) не хочется делать лишний прогон в другой программе, экономится время
б) из-за отсутствия этой удобной опции (ИМХО поэтому) есть примеры отсутствия блура в выкладываемых книгах, и иногда это выглядит неудачно (ИМХО)

С привлечением других прог, кстати, могут быть и проблемы. Я сейчас не помню, кто и когда, но какой-то редактор мне попортил странички за пределами иллюстраций. Пиксельный мусор появился (спеклы в пиксель, удалял их потом в СК).
И забавно, что спеклы в 3-4 пикселя джву (Document express) при дефолтном кодировании сам убирал, а вот спеклы в 1-2 оставлял.
Наверх
 
 
IP записан
 
altruist
Активист
***
Вне Форума


Всем привет!

Сообщений: 305
Russia.Penza
Пол: male
Re: Модификация ScanTailor
Ответ #488 - 12.01.2021 :: 18:19:46
 
xyz писал(а) 16.11.2020 :: 06:26:25:
Да, и вот еще. В последних версиях СТ, видимо, из-за смены компилятора пошли глюки в генерируемых тиффах.
Они не соответствуют тем форматам, котоыре заявлены.  Несжатый на самом деле как-то сжат. 
В LZW , возможно, попадает png   (такое было для GIMP выявлено, но у СТ тоже какое-то несоответствие наблюдается).

Столкнулся с такой проблемой. Ч/б tif в sk открываются пустыми страницами. После прогона в FastStone Image Viewer стало нормально. И ещё размер страниц на выходе необычный, одна получилась почти в гигабайт, а многие 300-600мб. Очень довольный
Наверх
 

Хорошая вещь компьютер...Посидел пять минут-полтора часа прошло....
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #489 - 13.01.2021 :: 12:19:50
 
@
altruist

Вышлите мне в личку ссылку.... да желательно на весь проект. На файл проекта, исходные изображения, изображения после обработки. Да и бинарник STU можно приложить.
Наверх
 
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #490 - 13.01.2021 :: 13:00:22
 
Там ИМХО что-то произошло с графической библиотекой.

В последней сборке STU несжатые тиффы - чем-то сжатые.
И это также других линуксовых прог коснулось. 
Я видел примеры, что GIMP куда не надо в тифф  png впихивает.
Наверх
 
 
IP записан
 
AAW
Патриарх
*****
На Форуме


Старую детскую и НП литературу
ничем не заменить

Сообщений: 4656
Екатеринбург
Пол: male
Re: Модификация ScanTailor
Ответ #491 - 13.01.2021 :: 13:14:04
 
мне в личке жаловались, что с недавнего времени, где-то с конца лета или даже с осени, в ST начались странные проблемы с файлами при экспорте. Но в STA Улыбка
Суть проблемы, насколько я понял присланные файлы, часто в экспорте с альфа-каналом. Но иногда ирфанвью не показывал что есть 32 бита на пиксель, а всего 1пкс, типа ЧБ. Но файлы все равно не открывались в DJVU Imager. А он весьма древний. Или в DSM не кодились, я уж не помню толком.
exiftool по ним ничего особенного также не показал. А проблемы - неоднократные.
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #492 - 13.01.2021 :: 15:52:11
 
xyz писал(а) 13.01.2021 :: 13:00:22:
Там ИМХО что-то произошло с графической библиотекой.

В последней сборке STU несжатые тиффы - чем-то сжатые.


Запросто, я просто сам компрессией не пользуюсь - использую дефолтную. Оно в принципе в STU не доделана - нет настройки на цветные/нецветные исходники, как в STA (вроде), а ряд режимов компрессии в цветным tiff'ам неприменим. И libtiff я тяну самый свежий - может несовместимость какая, а про нее никто не прочитал в changelog'ах. Разбираться надо, а примеры никто не присылает.

AAW писал(а) 13.01.2021 :: 13:14:04:
в ST начались странные проблемы с файлами при экспорте. Но в STA


И в STU будет. У меня просто пользователей на порядок (или два) меньше и жалуются реже. Альфа канал никак не убирается в ST и пролетает навылет из source в output. Я бы сказал, что это - фича. Там специально сделана поддержка сохранения tiff с альфа-каналом. Просто его в сканах по идее его быть не должно, но если их предобрабатывать в GIMP, например, то он может добавить. Ну и кодировщики djvu альфа-канал не любят. Я сейчас в принципе занят запихиванием функционала DjVu Imager в STU, и если я там научусь альфа канал на лету откручивать, то я добавлю в экспорт включенную по дефолту опцию для его отключения.
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #493 - 06.02.2021 :: 10:09:33
 
Выложил версию 0.2.10
https://github.com/trufanov-nok/scantailor-universal/releases/tag/0.2.10
В ней несколько багов пофикшены, в т.ч. сообщенные altruist проблемы с ростом размера tiff файла (точно) и невозможностью открыть полученные tiff файлы в Scan Kromsator (скорее всего).
Также настройка метода сжатия tiff сделана отдельной для B/W и non B/W изображений. А для проигрывания звука beep при завершении пакетной обработки на линуксах теперь используется библиотека Canberra.
Наверх
« Последняя редакция: 06.02.2021 :: 13:20:06 от truf »  
 
IP записан
 
m7876
Постоялец
**
Вне Форума



Сообщений: 96
Re: Модификация ScanTailor
Ответ #494 - 07.02.2021 :: 10:24:23
 
> А для проигрывания звука beep при завершении пакетной обработки на линуксах теперь используется библиотека Canberra.
Наконец-то, очень старая проблема. Спасибо!
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #495 - 23.04.2021 :: 23:54:21
 
За прошедшее с февраля время вышло 2 мини-версии STU: 0.2.11 и 0.2.12

https://github.com/trufanov-nok/scantailor-universal/releases/tag/0.2.12

В основном я работаю над линейкой 0.3.х с доп. шагом формирования многостраничного документа по методу раздельных сканов. Но какие-то хотелки спускаю в 0.2.х.

Итого, в 0.2.11
* исправлен 1 баг
* В tiff файлы, созданные на этапе Output в тэг Software зашивается "ScanTailor Universal {версия}". Это мне в голову пришло после бага, когда STU с определенной версии начал производить tiff'ы, неоткрываемые в SK и т.п.
* Добавлена поддержка открытия изображений формата *.jp2 (JPEG 2000) через библиотеку openjp2 пакета OpenJPEG. Попросили. Оказывается, где то там в web archieve хранятся такие изображения в больших количествах.

Собственно из-за последнего и был релиз. И был он только на Linux. Win сборок я делать не стал.

В 0.2.12
* исправлен 1 баг
* экспорт изображений (обычно послойный) теперь выполняется многопоточно. Должно быть быстрее на многоядерных процессорах.
* добавлена "базовая" поддержка стилей.

По поводу последнего. Я заметил, что есть фанаты темной темы оформления в ПО, связанном с редактированием графики. Якобы темный интерфейс меньше отвлекает от изображения, глаза меньше болят и т.п. Как по мне - это вкусовщина. В ST Advanced темная тема уже очень давно, и по-моему даже стоит по дефолту. Решил такую возможность попробовать обкатать в STU.

Небольшой ликбез по кастомизации Qt приложений:
Спойлер:

Написанные на Qt приложения кастомизируются стилями, палитрой и stylesheet'ами. Qt приложения кроссплатформенны за счет того, что не используют API операционной системы для создания UI, а рисуют его сами, мимикрируя под системное. Делается это при помощи стилей.

1. Стили это dll плагины Qt. Т.о. Qt приложение собранное под Windows, технически может отрисовать себя так, как оно выглядело бы под Linux. Более того, любое Qt приложение можно попросить это сделать, запустив его с ключом -style "style_name". Ну, если конечно оно видит нужную dll'ку.
На Windows обычно доступны стили Windows и Fusion. Последнее - то UI, что по-умолчанию рисуется на Линуксах (хотя самые модные дистрибутивы имеют свои стили).

Таким образом любой STU можно запустить с ключом "scantailor-universal -style Fusion" и увидеть его в новом стиле.

В 0.2.12 выбор из доступных приложению стилей вынесен в Settings/General/Application style. Изменения наступают без перезапуска, и это довольно опасно. Так что если упадет - не удивляйтесь. Если что вас спасет кнопка Reset to defaults.

Задумался я над тем, чтобы пересадить пользователей Windows на стиль Fusion по умолчанию.. Для единообразия и упрощения проектирования UI.

2. Палитра - это набор цветов в которые ОС хочет раскрашивать различные элементы управления. В STU 0.2.12 появилась опция Settings/General/Application stylesheets, где первые два пункта (Standart и None) меняют эту палитру на стандартную или никакую. Разницы я особой не вижу. А средств расширенного редактирования палитры тоже нет. Поэтому оно идет довеском к 3.

3. Stylesheets. И - они взаимоисключают 2 (палитру), поэтому все помещено в одну настройку Settings/General/Application stylesheet. Stylesheets - это аналог CSS в интернет сайтах, только сильно проще. Таблица стилей. По сути - текстовый файл с расширением *.qss в котором описываются классы объектов и их характеристики (размеры, цвета, отступы, выравнивание, градиенты). Можно подтягивать внешние картинки в svg или png.

Как и в пункте 1. любое Qt приложение можно запустить, скормив ему qss файл с помощью ключа "-stylesheet myfile.qss".

В ST Advanced темы реализованы именно при помощи Stylesheets. Но сами эти qss файлы зашиты в бинарник приложения в виде ресурсов.

Я перебрал с десяток первых попавшихся qss тем для Qt приложений и отобрал 3, после применения которых UI расползался не так сильно. Одна из них - темная (BreezeDark). Темы требуют допиливания.

К тому же я не стал зашивать темы в саму программу, а выложил их в подпапочку stylesheets/. Т.о. в настройке Settings/General/Application stylesheet отображаются Standart, None и все qss файлы, которые программа найдет в этой папочке.
Цель одна - сам я не хочу ковыряться в таблицах стилей (к тому же я заметил, что они не очень то кроссплатформенны), а хочу чтобы ковырялся в них тот, кому это хочется, поэтому доступ к qss открыт, а текущие темы приводятся скорее в качестве примера. Посмотрим, насколько это вообще кому-то нужно.


Итого, из этого нововведения хочется узнать 2 вещи: как пользователи Windows отнесутся к переходу к стилю Fusion по умолчанию? И нужны ли кому-то все эти темы оформления, особенно темные.. И главное - есть ли кому их допиливать под себя.
Наверх
 
 
IP записан
 
AAW
Патриарх
*****
На Форуме


Старую детскую и НП литературу
ничем не заменить

Сообщений: 4656
Екатеринбург
Пол: male
Re: Модификация ScanTailor
Ответ #496 - 29.04.2021 :: 07:17:48
 
на руборде спросили:
"Снова стал актуальным вопрос — не появилось ли в каком-либо форке ST возможности Deskew с бикубической, или Ланцоша интерполяцией?"
Наверх
 

Если не я за себя - то кто за меня? Но если я только за себя - то зачем я нужен? И если не сейчас - то когда? (с) Гиллель, предположительно
155803224  
IP записан
 
AlVaKo
Активист
***
Вне Форума



Сообщений: 281
Алма-Ата
Пол: male
Re: Модификация ScanTailor
Ответ #497 - 29.04.2021 :: 08:45:28
 
В какой графической библиотеке/программе есть вращение с использованием интерполяции бикубик/Ланцош? Хотелось бы примеры поворота изображения книжной страницы с использованием двух интерполяций, линейной и бикубической. Чтобы сравнить. У меня смутное подозрение, люди просят то, что имеет мало смысла.

ЗЫ.
Это примерно тоже самое, как проводить бикубическую интерполяцию при масштабировании  изображения с коэффициентом 1.0.
Наверх
« Последняя редакция: 29.04.2021 :: 10:00:56 от AlVaKo »  

Сложно отбинаризировать черную перемычку на белой бумаге, особенно если её там нет.
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #498 - 29.04.2021 :: 14:50:14
 
@
AAW,
@
AlVaKo
Я не касался алгоритма deskew. Он такой же как в оригинальном ST.
Сейчас глянул - там deskew, конечно, ищет угол на которой потом изображение будет повернуто. Но ищет он его не поворотами, а выполнением операции vertical sheer. Т.е. пробегается некий диапазон углов, для каждого делается vertical sheer, считается некий score (сумма квадратов разностей кол-ва небелых пикселей на соседних строках изображения, как я понимаю), по score выбирается лучший угол. Потом, если accuracy не слишком точная, то делается то же самое для уточнения угла. Считаются какие-то confidence и т.п. В общем, там все на vertical sheer делается, а он судя по всему, бывает как минимум бикубическим: https://docs.lucee.org/reference/objects/image/shear.html
Я подозреваю, что sheer применяемый в ST - самый простой, в угоду скорости.

Ссылки на код:
https://github.com/trufanov-nok/scantailor-universal/blob/master/src/imageproc/S...
https://github.com/trufanov-nok/scantailor-universal/blob/master/src/imageproc/S...
https://github.com/trufanov-nok/scantailor-universal/blob/master/src/imageproc/S...
Наверх
 
 
IP записан
 
AlVaKo
Активист
***
Вне Форума



Сообщений: 281
Алма-Ата
Пол: male
Re: Модификация ScanTailor
Ответ #499 - 29.04.2021 :: 16:29:38
 
Как определять угол коррекции наклона, это отдельная задачка. А потом надо крутить картинку. Там её качество естественно падает. Я имел ввиду именно проблему качества картинки после вращения.

Цитата:
В общем, там все на vertical sheer делается, а он судя по всему, бывает как минимум бикубическим: https://docs.lucee.org/reference/objects/image/shear.html


Слово "shear" для меня это сдвиг, может я ошибаюсь.
Есть алгоритм вращения основанный на последовательности из трех сдвигов. Быстрый для 1986г. Но вот качественный ли? При сдвиге строки пикселов на нецелочисленную величину вылезает необходимость интерполяции. Это что, три интерполяции делать будут? Да ещё и кубические.
Наверх
« Последняя редакция: 29.04.2021 :: 16:36:52 от AlVaKo »  

Сложно отбинаризировать черную перемычку на белой бумаге, особенно если её там нет.
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #500 - 29.04.2021 :: 19:08:15
 
AlVaKo писал(а) 29.04.2021 :: 16:29:38:
Слово "shear" для меня это сдвиг, может я ошибаюсь.

Да, shear, я опечатался.

AlVaKo писал(а) 29.04.2021 :: 16:29:38:
Как определять угол коррекции наклона, это отдельная задачка. А потом надо крутить картинку. Там её качество естественно падает. Я имел ввиду именно проблему качества картинки после вращения.


самописный shear используется только для определения числового значения угла. Вращает изображение ST не им. Я не силен в image processing, мне кажется сейчас до меня начинает доходить...

ST не меняет изображение на каком-то этапе обработки. По сути, ST собирает информацию о том, как нужно менять изображение, и только на последнем этапе (Output) применяет её и рендерит новое изображение в output. А то, что выводится на экран в самом ST до самого последнего этапа - это просто превьюшка с контролами, позволяющая задать параметры этих преобразований.
По моему все этапы обработки до этапа Output сохраняют изменения, которые необходимо будет провернуть с изображением, в классе Qt QTransform. Он умеет crop, scale, rotate, shear и т.п. Но для него это все - изменение координатной системы, у него там матрица внутри. Т.е. просто математика. Этот класс оторван от изображения.
А вот на этапе Output ST берет изображение и делает ему transform, передав объект QTransform. И вот в этот момент происходит рендеринг. И вот только в этот момент мог бы иметь смысл bicubic, ланцош и т.п.
Т.е. говорить об их применении на каком-то конкретном этапе обработки, например deskew - бессмысленно. Разве что вот в этих служебных преобразованиях, где картинка реально рендерится для автоматического поиска угла наклона (я кстати предполагаю, что там не реальная картинка, а её downscaled версия крутится - для скорости).
А реальный рендеринг результата ST делает сильно позднее.

Так вот, Qt при рендеренге изображения.. во первых ему до лампочки, был там в QTransform rotate или scale - для него это просто преобразования из одной системы координат в другую. Во вторых, фильтра он понимает только два - нифига, либо bilinear. Никаких bicubic или чего-такого Qt не умеет.

Тут возникает вопрос, а имеет ли смысл этот фильтр, если в QTransform был только rotate  и т.п. операции над системой координат, но не было scale - возможно что и нет. Но вот scale в ST вполне себе возможен, если dpi результата с исходным не совпал. Вот при scale - да, тут поиграться с bicubic мне хотелось бы. Но Qt этого не умеет.

С отсутствием bicubic я столкнулся, когда портировал DjVuImager от monday2000 на Qt. Там DjVuImager downscale'ит фоновые изображения через измененный кодек fi-c44 и запихивает их обратно в djvu документ. Т.к. я сейчас работаю над тем, чтобы делать djvu документы методом раздельных сканов (и почти доделал) прямо в ST, я столкнулся с необходимостью сделать scale с бикубиком. В fi-c44 эту операцию выполняет библиотека FreeImage. Вот она умеет штук шесть фильтров: и среди них был и бикубик и ланцош3, вроде.
Я смог выдрать код, делающий этот scale из FreeImage и подружить его с форматом представления изображения в Qt (Qt считает точку 0,0 в левом верхнем углу изображения, а FreeImage - в левом нижнем.). И он у меня даже где-то валяется. Валяется, потому что я от него отказался и оставил scale изображений кодеку fi-c44, только сделал используемый фильтр настраиваемым через командную строку. Чтобы bicubic был не захардкоден.
Это я к чему, в теории я могу запретить QTransfrm делать scale самому, а вместо этого использовать методы, выдранные из FreeImage с bicubic и пр. Но это никакого отношения к этапу deskew иметь не будет. Это будет происходить в Output. А умеет ли FreeImage делать rotate с bicubic - это еще вопрос... Хотя вот monday2000 вроде писал что умеет: http://djvu-soft.narod.ru/bookscanlib/020.htm

В общем я запутался. Всё равно ничего делать не буду ))
Наверх
« Последняя редакция: 30.04.2021 :: 13:51:23 от truf »  
 
IP записан
 
AlVaKo
Активист
***
Вне Форума



Сообщений: 281
Алма-Ата
Пол: male
Re: Модификация ScanTailor
Ответ #501 - 29.04.2021 :: 20:46:52
 
Цитата:
Да, shear, я опечатался.

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

Цитата:
В общем я запутался. Всё равно ничего делать не буду ))

У меня есть определенные наработки для масштабирования и вращения изображений. С учетом этого небольшого опыта, у меня сложилось мнение/позиция. Бикубик/ланцош это, как правило, методы интерполяции при передискретизации вверх/вниз. Операция вращения немного другое. Т.е. в этой части, поддерживаю ваше "ничего_неделание".

Цитата:
Так вот Qt при рендеренге изображения.. во первых ему до лампочки, был там в QTransform rotate или scale - для него это просто преобразования из одной системы координат в другую.

С Qt вообще дела не имел. Насколько знаю, Qt библиотека не для image processing, а для интерфейса пользователя. Если в QTransform сидит аффинное преобразование координат, то никаких бикубиков/ланцошов там не будет в принципе.  Не для того Qt заточен.
Наверх
 

Сложно отбинаризировать черную перемычку на белой бумаге, особенно если её там нет.
 
IP записан
 
slava_kry
Активист
***
Вне Форума



Сообщений: 488
Re: Модификация ScanTailor
Ответ #502 - 30.04.2021 :: 05:06:15
 
Люди сами не знают чего просят.
В данном случае оригиналы (сканы) настолько топорны, что любой алгоритм будет сподручен. И во всяких супер-дупер алгоритмах смысла нет.
Люди просто не знают матчасть. Идти у них на поводу смысла не имеет. Улыбка
Наверх
 

Он сказал им: вы выказываете себя праведниками пред людьми, но Бог знает сердца ваши, ибо что высоко у людей, то мерзость пред Богом.
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #503 - 30.04.2021 :: 15:44:39
 
Посмотрел я сегодня исходники, ветку на руборде, еще на всякие исходники и как я понял:
1. С точки зрения QTransform поворот - это комбинация shear и scale.
2. При рендеренге изображения, если его крутили не на угол кратный 90 градусам, оно отрисовывается со сглаживанием (smoothScaled) и тут применяется или нет bilinear.

Тут я начал думать, а нельзя ли матрицу преобразования QTransform передать вместе с изображением в другую библиотеку, умеющую преобразования с различными фильтрами. И даже начал склоняться к OpenCV... Но, как в анекдоте "на третий день индеец Зоркий глаз заметил, что в тюрьме не было четвертой стены" -

3. ST использует свой код для применения матрицы трансформации QTransform к изображению, а не методы Qt. И тут еще разобраться надо, а есть ли в нем какое-то сглаживание вообще... Но в любом случае, похоже что мяч на нашей стороне и есть куда впихивать фильтры.
Наверх
 
 
IP записан
 
AlVaKo
Активист
***
Вне Форума



Сообщений: 281
Алма-Ата
Пол: male
Re: Модификация ScanTailor
Ответ #504 - 01.05.2021 :: 10:55:57
 
В рендеринге на экран, очень любят совмещать в матрице преобразований координат масштабирование и поворот. Если в ST при обработки скана совмещают масштабирование и поворот, то на мой взгляд лучше разделить эти операции. Вначале масштабирование (повышение разрешения), потом если надо поворот. В каждой операции можно использовать
разную интерполяцию.
Наверх
 

Сложно отбинаризировать черную перемычку на белой бумаге, особенно если её там нет.
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #505 - 02.05.2021 :: 14:17:24
 
После прочтения этой статьи: https://habr.com/ru/post/243285/
Я пришел к выводу, что в ST реализованы афинные преобразования с одновременным Суперсемплингом. Возможно даже, нестандартным, т.к. он похоже, продолжает работать и при некотором upscalinge. Т.е. в ST заморочились с получением очень качественных downscaled изображений. И сделано это, видимо не только для thumbnail страниц и превью текущей страницы, но и для более качественной работы некоторых алгоритмов, которые для скорости работают не с исходным изображением, а с его сжатой версией. К примеру, page split пытается автоматически разделить страницы по картинке сжатой до 100dpi. Content detection - ищет по сжатой до 150dpi.

В итоге я решил провести тесты. Захардкодил при старте ST чтение файла из папочки, его поворот на X градусов, сохранение, снова поворот назад на -X градусов, сохранение. Для собственного рендеренга ST, и рендеренга Qt без фильтров и с фильтрами. Разглядывал на увеличении 400%.

Рендеринг Qt без фильтров никуда не годится - такое впечатление, что страницу на полоски режут и полоски относительно друг друга двигают, вместо того, чтобы наклонять. С bilinear фильтром - получше, но тоже можно найти косяки. Т.е. рендеринг ST однозначно лучше рендеренга Qt.

Пр сравнении повернутых туда и обратно версий с оригиналом наблюдается потеря четкости. У всех методов. Тогда я решил сравнивать не с оригиналом, а с результатами поворота изображения в редакторе GIMP. Он по дефолту использует bicubic фильтр. GIMP конечно дал лучшие результаты, чем Qt, но восстановленное после поворота изображение тоже размыто и практически не отличается от восстановленного изображения в ST. А вот один косяк с полоской как у Qt без фильтра я у GIMPа нашел.

В общем, я пришел к выводу, что ST крутит страницы даже лучше чем GIMP с bicubic и Qt с bilinear.
Пробовал на разных страницах с поворотом 0.5, 2, 178, -90.5 градусов (на кратный 90 крутить бессмысленно - специальный случай). Последнее пробовал с scale в 2 раза, т.к. волнует upscale. Я часто делаю upscale с 300dpi до 600dpi на выходе.

Результаты залил сюда (1.1Gb): https://dropmefiles.com/Fz4KR

Не могу сказать, что я с лупой их облазил.
С Photoshop'ом сравнить не могу - линукс. А Deskew Finder консольный под линукс есть, но не дает жестко задать угол поворота - только пределы в которых сам угол искать будет.

В общем пока у меня впечатление, что рендеринг страниц в ST работает отлично. И по качеству scale/rotate не хуже бикубика. Почему - вот вопрос, это надо Tulon'а спрашивать, там не просто supersampling, а supersampling с какой-то залипухой: https://github.com/trufanov-nok/scantailor-universal/blob/master/src/imageproc/T
ransform.cpp#L181
Наверх
 
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #506 - 28.06.2021 :: 18:19:10
 
В версии 0.2.10  при попытке вставить файл в уже существующий проект программа падает.  Приходится в 0.2.8 за этим идти.

Также на стадии  Page Layout
1) при замыкании цепочки поля не становятся равными друг другу. (ранее становились, и это было удобно)
2) при разомкнутой цепочке   перетаскивание зоны контента мышкой формирует равные поля, а они должны быть разными (это при замкнутой они должны быть равны)
Наверх
 
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #507 - 29.06.2021 :: 06:01:11
 
Я тут кстати месяц назад впервые вынужденно использовал STA - потребовались фичи, которые там есть:
1) заливка полей цветом фона страницы, а не белым
2) смещение по клику рамки контента   (когда она не захватывает или избыточно захватывает кликаешь в стороне от ней и она сама ищет следующее положение)
3) направляющие (выставление горизонтальной или вертикальной линии, к которой можно прижимать зону контента)

Было бы неплохо придумать их реализацию для STU.
Наверх
 
 
IP записан
 
xyz
Гуру
****
Вне Форума


Всем привет!

Сообщений: 716
Re: Модификация ScanTailor
Ответ #508 - 10.08.2021 :: 14:43:53
 
пытаюсь вставить файл в 2.12, снова происходят падения. Баг не исправлен.

(на ленте ПКМ и Insert after)
Наверх
 
 
IP записан
 
truf
Активист
***
Вне Форума



Сообщений: 250
Re: Модификация ScanTailor
Ответ #509 - 11.08.2021 :: 04:26:33
 
xyz писал(а) 10.08.2021 :: 14:43:53:
пытаюсь вставить файл в 2.12, снова происходят падения. Баг не исправлен.

(на ленте ПКМ и Insert after)


На Линуксе не удается воспроизвести. Падает сразу? Во время отображения диалога выбора файла? При выборе файла и нажатии кнопки открыть?
Наверх
 
 
IP записан
 
Страниц: 1 ... 15 16 17 18 
Послать Тему Печать