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

» Scan Tailor: Часть 2

Автор: LonerDergunov
Дата сообщения: 20.03.2013 23:41
monday2000
Спасибо за обновление. Нюансы и плюсы ещё не успел оценить.
Первое что бросается в глаза - на последнем шестом этапе колонка слева сделана резиновой по вертикали на всю высоту экрана. Наблюдается в нескольких последних версиях (например, в версии за 15.02 такого ещё не было). Это специально так сделано или баг? Большущие поля смотрятся не очень органично, но если это сделано специально для облегчения добавления информации в колонку - то вполне можно терпеть.
Автор: monday2000
Дата сообщения: 21.03.2013 18:20

Цитата:
Это специально так сделано или баг?

Чистая случайность. Но я не понял, о чём речь? Поясните.
Автор: LonerDergunov
Дата сообщения: 21.03.2013 18:56
monday2000

Цитата:
я не понял, о чём речь? Поясните.

Вот так было (по крайней мере в версии от 15.02):
http://rghost.ru/44659940.view
Вот так стало в нескольких последних версиях:
http://rghost.ru/44659875.view
Автор: tlotr
Дата сообщения: 21.03.2013 19:24

Цитата:
Вот так было (по крайней мере в версии от 15.02):
Вот так стало в нескольких последних версиях:


Кстати, а зачем это было сделано?
Автор: monday2000
Дата сообщения: 21.03.2013 22:26
LonerDergunov
Понял. Постараюсь исправить.
Автор: monday2000
Дата сообщения: 22.03.2013 21:06
Scan Tailor Featured 2013.03.22

http://rghost.ru/44688408

LonerDergunov
Вот так?

Добавлено:
tlotr

Цитата:
Кстати, а зачем это было сделано?

Я же добавил выпадающий список "Форма картинок" - вот у меня панель и сбилась тогда.
Автор: monday2000
Дата сообщения: 23.03.2013 21:13
Обновил версию на офсайте

https://sourceforge.net/projects/scantailor/files/scantailor-devel/featured/
Автор: iit512
Дата сообщения: 24.03.2013 00:19
Добрый день!
Решил наконец попробовать Featured. К сожалению, код под Linux не компилируется (при этом самые последние и Plus, и Enhanced компилируются безо всяких проблем).
Вот что происходит: http://pastebin.com/1B9AKgNN
Автор: monday2000
Дата сообщения: 24.03.2013 17:43
iit512

Цитата:
код под Linux не компилируется

Ничем не могу помочь. Линукса у меня нет (и даже нет возможности поставить), да и вообще - далёк я от него. А сами Вы не можете отладить код, чтобы он скомпилировался? Если проблема лежит в плоскости CMake - то в нём я абсолютно не разбираюсь. А это похоже на CMake - раз проект под винду собирается корректно, а под Linux - нет.

Я добавлял в проект класс ExportDialog - и прописывал его в CMake (по подсказке Tulon). Возможно, я недостаточно модифицировал CMake при этом.

Попробуйте обратиться к специалисту по Linux.
Автор: iit512
Дата сообщения: 25.03.2013 05:44
Жаль. Стало быть, не попробую Featured
===
Может быть, стОит написать в README, что исходники не кросс-платформенные?
Автор: monday2000
Дата сообщения: 25.03.2013 20:24
iit512
Попробуйте вот это скомпилировать. Если не получится - опять дайте лог ошибок.
http://rghost.ru/44769613

Добавлено:
Scan Tailor Featured 2013.03.25

http://rghost.ru/44769669



Добавлено:
В этой сборке я начал эксперименты с формой зоны Test. Я взял за основу форму "Обведённая" - т.е. "обведённую прямоугольником" зону (PictureShape-зону).

Как я уже писал ранее, одним из недостатков PictureShape является то, что она слишком сильно обводит исходную зону - получается значительная синяя окантовка между реальной картинкой и получаемой зоной.

Но если применить обычную исходную зону - то она, хоть и не имеет такой неприятной окантовки, но зато контур её получается весь в микрозубцах - как подводная часть корпуса корабля, обросшая ракушками.

Я слегка доработал алгоритм PictureShape. Принцип действия доработки такой:

1. Я назначил произвольный порог - 25%. Взял просто с потолка это значение.

2. Беру верхнюю горизонтальную границу PictureShape-зоны. В цикле перемещаюсь от неё внутрь фигуры (т.е. цикл по горизонтальным рядам зоны). На каждом шаге цикла в другом цикле прохожу по всем словам (32-битным) этой стороны зоны. Если текущее слово - целиком белое - увеличиваю построчный счетчик белых слов.

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

4. Повторяю то же самое для оставшихся 3-х сторон PictureShape-зоны. Только для левой-правой сторон вместо слов использую, разумеется, просто пиксели. Я ещё, кстати, намаялся писать функции getPixel/setPixel для Tulon'ского класса BinaryImage (удовольствие ниже среднего) Вот они - для интереса:

Цитата:
void
BinaryImage::setPixel(int x, int y, BWColor color)
{
uint32_t* line = this->data() + m_wpl * y;

(color == WHITE) ? line[x >> 5] &= ~(0x80000000 >> (x & 31)) : line[x >> 5] |= (0x80000000 >> (x & 31));
}

BWColor
BinaryImage::getPixel(int x, int y)
{
uint32_t* line = this->data() + m_wpl * y;

return (BWColor)((line[x >> 5] >> (31 - (x & 31))) & 1);
}


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

О принципе работы Test-зоны: я подумал - что есть шероховатости ("зазубрины", "шипы", неровные края) оригинальной авто-зоны с точки зрения алгоритмики? Это всего лишь в достаточной мере прерывистый прямолинейный контур. И задача удаления этих шипов сводится к постепенному "срезанию" (допустим, попиксельному) найденного контура - до тех пор, пока уровень прерывистости контура не достигнет какой-то величины. Я выбрал - 25%, но не факт, что это наилучшая цифра.
Автор: iit512
Дата сообщения: 26.03.2013 03:07
Увы. Вот лог: http://pastebin.com/eudTeLrs
Автор: monday2000
Дата сообщения: 26.03.2013 18:12
iit512
Попробуйте вот это скомпилировать. Если не получится - опять дайте лог ошибок.
http://rghost.ru/44792221
Автор: monday2000
Дата сообщения: 27.03.2013 18:23
iit512
Ну что?
Автор: iit512
Дата сообщения: 27.03.2013 19:46
http://pastebin.com/e2CPgbrf
Автор: monday2000
Дата сообщения: 27.03.2013 20:27
iit512
Попробуйте ещё раз:
http://rghost.ru/44823552
Автор: iit512
Дата сообщения: 28.03.2013 10:44
Теперь продвинулось гораздо дальше (хотя и с warning'ами), но в конце все равно вылетело с ошибкой -- http://pastebin.com/9VcYvHfH
Автор: monday2000
Дата сообщения: 28.03.2013 22:07
iit512
ещё раз
http://rghost.ru/44853735
Автор: iit512
Дата сообщения: 29.03.2013 08:10
Скомпилировался, работает!!! Спасибо! Разделенный вывод мне ни к чему, а вот прямоугольные зоны и управление деформацией -- гениально!
В конце компиляции были несколько warnings -- возможно, Вам будет на них интересно посмотреть -- http://pastebin.com/feGAsAJ4

Автор: monday2000
Дата сообщения: 29.03.2013 19:33
iit512

Цитата:
Спасибо!

Пожалуйста.

Цитата:
В конце компиляции были несколько warnings

Да, интересно. Я их тоже исправил и после этого залил полностью исправленные исходники и собранный из них инсталлятор на http://sourceforge.net/projects/scantailor/files/scantailor-devel/featured/

Добавлено:
По поводу исправлений исходников:

Самое первое исправление было на тему порядка компиляции. Я в одной из фич использовал передачу между объектами указателя на класс MainWindow - вот поэтому порядок компиляции (наверное, в CMake) видимо, и сбился. Но так как я потом уже нашёл вариант без передачи этого указателя - то я его просто убрал и всё.

Второе и последующее исправление были простыми и однотипными: ошибки были из-за того, что Ваш компилятор не мог понять мои параметры функций по умолчанию. Например, QImage& image = QImage() - в Windows это компилируется без проблем. Сначала я попробовал изменить это на QImage& image = (QImage&)(QImage()) - под Windows это работало - но у Вас опять не заработало. Тогда уж я поставил самый простой вариант: QImage* p_image = NULL - это и на деревянных счетах должно было заработать. И оно-таки заработало. Просто мне потом пришлось разыменовывать везде эти p_image - ну не самая большая проблема.

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

В общем, не исключено, что проблема не совсем в другой операционной системе - а может, просто в Вашем компиляторе, или даже в его опциях - тем более, что других обращений ко мне по этому поводу не было.
Автор: LazyKent
Дата сообщения: 29.03.2013 21:52
monday2000, спасибо. Попробую скомпилировать для openSUSE.


Цитата:
проблема не совсем в другой операционной системе - а может, просто в Вашем компиляторе

Это же стандартный компилятор — GCC. http://ru.wikipedia.org/wiki/GNU_Compiler_Collection


Цитата:
других обращений ко мне по этому поводу не было

Ничего не обещаю, но в выходные попробую.
Автор: monday2000
Дата сообщения: 01.04.2013 11:29
bolega сделал свой клон Scan Tailor - "Scan Tailor Complete":

http://forum.ru-board.com/topic.cgi?forum=5&topic=29984&glp
Автор: unreal666
Дата сообщения: 01.04.2013 12:42

Цитата:
bolega сделал свой клон Scan Tailor - "Scan Tailor Complete":

где ты там это увидел?
Автор: LazyKent
Дата сообщения: 01.04.2013 14:57
Собрал пакеты scantailor-featured для openSUSE.
Скомпилировалось нормально. Все возможности не проверял, но в целом работает.
Файлы переводов в пакете scantailor-featured-lang.

http://software.opensuse.org/search?q=scantailor-featured
Автор: anagnost96
Дата сообщения: 02.04.2013 12:05
Попробовал наконец ST Featured. Новые прямоугольные зоны очень понравились, но обнаружилась такая проблема (система SuSE Linux): при попытке экспорта создаются сначала папки "export\1" и "export\2", а потом куча файлов с именами вида "export\1\XXXX.tif". Т. е. очевидно, что в коде жестко прописано использование символа backslash в качестве разделителя без учета того, что не для всех систем это приемлемо.

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

И несколько замечаний по интерфейсу. Переименование прямоугольных зон в обведенные IMHO неудачно, т. к. заставляет предположить, что эти зоны обведены контуром. Т. е. по мне лучше было бы как раз новые зоны называть обведенными, а для старых (растровых) оставить название прямоугольных. Далее, несколько напрягает тот факт, что закрытие диалога "Экспорт" осуществляется кнопкой "OK", хотя по смыслу это скорее Cancel. "Редкие опции" -- это то, что обычно принято называть "Advanced", а по-русски, скажем, "Расширенные настройки". И вообще в русском языке нежелательно пользоваться словом "опция": почему, например, не "настройка" или "параметр"? И, наконец, кнопки "Экспорт" и "OK" по смыслу относятся ко всему диалогу в целом, а не к отдельной вкладке, поэтому, наверное, они должны быть доступны и при открытой вкладке "Редкие опции" (как бы ее ни называть) тоже. Или, может быть, лучше было бы убрать эту вкладку из данного диалога вообще и перенести ее в диалог настроек программы.
Автор: monday2000
Дата сообщения: 02.04.2013 20:26
anagnost96

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

Да! Спасибо за подсказку. Исправил, вот исходники:

http://rghost.ru/44998785

Если можно - протестируйте их в Linux (на предмет этой ошибки), пожалуйста.

Добавлено:

Цитата:
неспешно реагирует на нажатие кнопки "отмена"

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

Цитата:
Т. е. по мне лучше было бы как раз новые зоны называть обведенными, а для старых (растровых) оставить название прямоугольных.

"Новые" - это какие? Векторные прямоугольные? Так какие же они "обведённые"? Или Test-зоны? Test-зонам я ещё дам отдельное специальное название. А обведённые зоны я, может быть, вообще уберу потом из программы - потому что их заменят Test-зоны (я их ещё доработаю). Не нравится "обведённые" - предложите своё наименование, отличающееся от "прямоугольные".

Цитата:
осуществляется кнопкой "OK", хотя по смыслу это скорее Cancel.

Переименовал её в "Закрыть" ("Close").

Цитата:
"Редкие опции" -- это то, что обычно принято называть "Advanced", а по-русски, скажем, "Расширенные настройки".

А я хочу именно "Редкие", потому что никакие это не "Расширенные". Я хочу именно подчеркнуть, что это опции, которые нужны 1-2% пользователей. "Расширенные" - это такие, которые нужны всем, точнее только тем из "всех", кто хочет получить более изысканный результат - вот что такое "Расширенные".

Цитата:
И вообще в русском языке нежелательно пользоваться словом "опция": почему, например, не "настройка" или "параметр"?

Ну чем Вам "опция" не угодила? Вполне ведь употребляемое в русском языке слово (особенно в компьютерных программах). По мне так лучше "Редкие опции", нежели чем "Редкие параметры" или "Редкие настройки" (звучит ИМХО гораздо корявее). Тогда уж надо писать "Редкие настройки экспорта" - а это слишком длинно.

Цитата:
они должны быть доступны и при открытой вкладке "Редкие опции" (как бы ее ни называть) тоже.

Возможно, но этим я тоже не буду заниматься. Лень. Да и лазить на ту вкладку обычным юзерам и не надо - а только редким.

Добавлено:
unreal666

Цитата:
где ты там это увидел?

С первым апреля! А вообще было бы недурно, верно?
Автор: monday2000
Дата сообщения: 03.04.2013 20:52
Scan Tailor Featured сборка 2013.04.03

http://rghost.ru/45022734

Добавлено:
Данная сборка (в отличие от всех остальных) не предназначена для работы - она чисто демонстрационная (точнее, как бы полуготовая).

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

Всё это пока ещё не работает в полной мере так, как надо - но зато это уже можно посмотреть.

Посмотреть можно так: открыть проект, выбрать Вывод - Форма картинок - Test и обязательно переключиться на вкладку Зоны картинок. При этом сгенерируются векторные прямоугольные зоны - точно такого же размера и с такими же координатами, как и растровые Test-зоны из прошлой сборки.

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

Теперь предстоит долгая доработка этого механизма, доведение его до ума.
Автор: monday2000
Дата сообщения: 04.04.2013 22:50
Я обновил версию на оффсайте:

https://sourceforge.net/projects/scantailor/files/scantailor-devel/featured/

Учёл там ошибку:

Цитата:
в коде жестко прописано использование символа backslash в качестве разделителя без учета того, что не для всех систем это приемлемо.
Автор: amaid
Дата сообщения: 06.04.2013 07:20
при запуске кликом по файлу проекта featured стал запускаться с английским языком
последние несколько версий
Автор: monday2000
Дата сообщения: 06.04.2013 20:40
amaid

Цитата:
при запуске кликом по файлу проекта

Надо же, а я и не знал о такой возможности. Как будет время, может быть, займусь этой проблемой.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061

Предыдущая тема: CmCkA v4


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