Новая графическая оболочка для cuneiform

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

Спасибо. Обновил пакеты для openSUSE.
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Выложил YAGF 0.8.7. Основные новшества: поддержка tesseract и импорт страниц из PDF.
Исходники, как обычно, здесь: http://symmetrica.net/cuneiform-linux/yagf-ru.html
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

Ошибка при компиляции версии 0.8.7:

Код: Выделить всё

[ 66%] Building CXX object CMakeFiles/yagf.dir/src/qxtgraphicsproxywidget.cpp.o
[ 68%] Building CXX object CMakeFiles/yagf.dir/src/popplerdialog.cpp.o
/usr/src/packages/BUILD/yagf-0.8.7/src/qxtgraphicsproxywidget.cpp: In member function 'virtual QVariant QXtGraphicsProxyWidget::itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&)':
/usr/src/packages/BUILD/yagf-0.8.7/src/qxtgraphicsproxywidget.cpp:48:10: error: 'ItemScaleChange' is not a member of 'QGraphicsItem'
/usr/src/packages/BUILD/yagf-0.8.7/src/qxtgraphicsproxywidget.cpp:51:10: error: 'ItemRotationChange' is not a member of 'QGraphicsItem'
make[2]: *** [CMakeFiles/yagf.dir/src/qxtgraphicsproxywidget.cpp.o] Error 1

Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Lazy_Kent писал(а):
29.08.2011 14:54
Ошибка при компиляции версии 0.8.7:


Хм, я посмотрел, судя по всему, эти константы появились только в Qt 4.7.

Lazy_Kent писал(а):
29.08.2011 14:54
'ItemScaleChange'
'ItemRotationChange'


Хотя сам enum появился аж в 4.4.

С одной стороны, можно подумать, чем их заменить для более ранних версий. С другой стороны, моя Ubuntu 10.10 - Maverick Meerkat, октябрь 2010 года, имеет Qt 4.7 и прекрасно все собирает. А самой 4.7 уже больше года, кстати. Может быть просто подождать, пока все обновятся? Кто что скажет?
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

А самой 4.7 уже больше года, кстати. Может быть просто подождать, пока все обновятся?

Текущие дистрибутивы:
openSUSE 11.3 -- Qt 4.6.3
Debian Lenny -- Qt 4.6.3
Ubuntu 10.04 LTS -- Qt 4.6.2
Mandriva 2010.2 -- Qt 4.6.2
ALT Linux 5.0 -- Qt 4.5.2
SLE11 SP1 -- Qt 4.6.2
RHEL6 -- Qt 4.6.2

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

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

Очень бы хотелось заменить.
Спасибо сказали:
YYY
Сообщения: 66
ОС: slitaz

Re: Новая графическая оболочка для cuneiform

Сообщение YYY »

a_borovsky писал(а):
29.08.2011 15:20
С одной стороны, можно подумать, чем их заменить для более ранних версий. С другой стороны, моя Ubuntu 10.10 - Maverick Meerkat, октябрь 2010 года, имеет Qt 4.7 и прекрасно все собирает. А самой 4.7 уже больше года, кстати. Может быть просто подождать, пока все обновятся? Кто что скажет?

Ждать долго :)
А если закомментировать часть кода, с ItemScaleChange и ItemRotationChange то все собирается...
Чем это грозить может ? :) Что отвалится ?
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Lazy_Kent писал(а):
29.08.2011 15:53
Текущие дистрибутивы:
openSUSE 11.3 -- Qt 4.6.3
Debian Lenny -- Qt 4.6.3
Ubuntu 10.04 LTS -- Qt 4.6.2
Mandriva 2010.2 -- Qt 4.6.2
ALT Linux 5.0 -- Qt 4.5.2
SLE11 SP1 -- Qt 4.6.2
RHEL6 -- Qt 4.6.2


Ну, с другой стороны:
OpenSuse 11.4 - Qt 4.7.1
Ubuntu 10.10 - Qt 4.7, 11.04 - Qt 4.7.2
Mandriva 2011 - Qt 4.7-с-хреном
А то, что tesseract поддерживает самые интересные языки, включая русский, только начиная с версии 3.0, которой в старых дистрах нема, никого не смущает?

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

YYY писал(а):
30.08.2011 12:04
a_borovsky писал(а):
29.08.2011 15:20
С одной стороны, можно подумать, чем их заменить для более ранних версий. С другой стороны, моя Ubuntu 10.10 - Maverick Meerkat, октябрь 2010 года, имеет Qt 4.7 и прекрасно все собирает. А самой 4.7 уже больше года, кстати. Может быть просто подождать, пока все обновятся? Кто что скажет?

Ждать долго :)
А если закомментировать часть кода, с ItemScaleChange и ItemRotationChange то все собирается...
Чем это грозить может ? :) Что отвалится ?


Закомментировать часть кода - плохое решение. Он ведь туда не для того добавлен, чтобы программа не собиралась. У него функция есть :)
Но если уж благородный дон сам собирает из исходников, то что ему мешает проапгрейдить Qt?
Решение для прежних версий, в любом случае, будет не таким красивым. Во всех смыслах.
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Окей, специально для торм... для тех, кто пользуется прежними версиями Qt я выложил пропатченные исходники yagf-0.8.7-qt.4.6.x.tar.gz. Я тестировал их с Qt 4.6.3, но может они будут работать даже с Qt 4.5. ;)
Все лежит на той же странице, что и основной YAGF.
Спасибо сказали:
YYY
Сообщения: 66
ОС: slitaz

Re: Новая графическая оболочка для cuneiform

Сообщение YYY »

a_borovsky писал(а):
30.08.2011 19:40
Окей, специально для торм... для тех, кто пользуется прежними версиями Qt я выложил пропатченные исходники yagf-0.8.7-qt.4.6.x.tar.gz. Я тестировал их с Qt 4.6.3, но может они будут работать даже с Qt 4.5. ;)
Все лежит на той же странице, что и основной YAGF.


Уря!
Спасибо!

(a_borovsky) писал(а):Но если уж благородный дон сам собирает из исходников, то что ему мешает проапгрейдить Qt?

Хочу чтоб и в дистрибутиве было :)
Qt трогать точно не будут... А пакеты могет и добавят...
Спасибо сказали:
YYY
Сообщения: 66
ОС: slitaz

Re: Новая графическая оболочка для cuneiform

Сообщение YYY »

Собрал yagf и тессеракт 3 - работает....
Вот только беда...
Если выбрать для тессеракта
"Руский-Английский" выдает ошибку.
Англицкий отдельно нормально.
Русский отдельно - тоже...
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

YYY писал(а):
31.08.2011 00:35
Собрал yagf и тессеракт 3 - работает....
Вот только беда...
Если выбрать для тессеракта
"Руский-Английский" выдает ошибку.
Англицкий отдельно нормально.
Русский отдельно - тоже...


На русско-английский tesseract, насколько я понимаю, вообще не натренирован пока.
Насчет чистого русского - у меня работает. А вы файл данных для русского языка установили?
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

Tesseract не работает с комбинациями языков. Или русский, или английский.
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Lazy_Kent писал(а):
31.08.2011 09:45
Tesseract не работает с комбинациями языков. Или русский, или английский.


Я думаю, что это вопрос времени. Три года назад тессеракт нельзя было обучить языкам, основанным не на латинице. Что-то там падало в блоке различения букв и цифр.
Если будет большая заитересованность, думаю, обучат и двуязычаю.
Спасибо сказали:
PVOzerski
Сообщения: 297
ОС: OpenSUSE, ALT Linux

Re: Новая графическая оболочка для cuneiform

Сообщение PVOzerski »

Ну очень хочется фичу "Paste image from the clipboard". При вырезании блоков со сканов для получения цитат или последующей вставки распознанного текста в переводчик очень не хватает. Я же патч когда-то Вам присылал! Там же идея тривиальна: средствами Qt скидывать содержимое во временный файл и потом этот файл обрабатывать (а по закрытии можно его стирать, опознавая по специфическим образом сгенеренному названию).
Спасибо сказали:
YYY
Сообщения: 66
ОС: slitaz

Re: Новая графическая оболочка для cuneiform

Сообщение YYY »

a_borovsky писал(а):
31.08.2011 06:55
Насчет чистого русского - у меня работает. А вы файл данных для русского языка установили?

У меня тоже работает... Но при выборе движка тессеракт все еще остается выбрать "Русский-Английский" (или остается после синеформа )
Вообщем я о том что можно ли для тессеракта это скрыть ?

ЗЫ: На 4.5.х не собралось :)
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

YYY писал(а):
02.09.2011 20:23
Вообщем я о том что можно ли для тессеракта это скрыть ?


Да, надо будет придумать, как красивее оформить сокрытие :)

YYY писал(а):
02.09.2011 20:23
ЗЫ: На 4.5.х не собралось :)


Мне кое-кто жалуется, что на 4.4 не собралось. Даже обидно становится за разрабов Qt. Они стараются, новые версии выпускают... ;)

PVOzerski писал(а):
01.09.2011 22:28
Ну очень хочется фичу "Paste image from the clipboard". При вырезании блоков со сканов для получения цитат или последующей вставки распознанного текста в переводчик очень не хватает. Я же патч когда-то Вам присылал! Там же идея тривиальна: средствами Qt скидывать содержимое во временный файл и потом этот файл обрабатывать (а по закрытии можно его стирать, опознавая по специфическим образом сгенеренному названию).


Черт, про эту фичу-то я и забыл. Окей, первым делом загоню эти фичи в trunk и помечу ревизию как "requested by PVOzerski". Выкачивайте оттуда, как появится. :)

А вообще я теперь сосредоточусь, насколько время позволит, на deskew и despeckle. Кто желает поучаствовать - милости просим.
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

Очень хочется функцию вывода в формат hOCR. :)
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

раз, два, три, четыре, пять, вышел YAGF 0.8.9. :)
Новые фичи: стабильное исправление наклона страниц, вставка изображений из буфера обмена, улучшенный (на мой взгляд) интерфейс пользователя.
Экспериментальная фича (работает нестабильно пока) - автоматическое выделение области, содержащей текст.
Фичи, над которыми сейчас идет работа: распознавание различных областей страницы (текст, рисунок), поддержка hocr.
Страница проекта, как обычно:
http://symmetrica.net/cuneiform-linux/yagf-ru.html
Страница проекта в Google+, для новостей и обсуждения

Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

Почему-то не работает распознавание с Tesseract.
Строка запуска выглядит так:

Код: Выделить всё

/usr/bin/tesseract input.bmp output -l rus

В случае Cuneiform:

Код: Выделить всё

cuneiform -l rus -f text -c1 -o /home/user/.yagf/output.txt /home/user/.yagf/input.bmp


Заодно поинтересуюсь, зачем нужно преобразование в BMP? И Cuneiform, и Tesseract понимают разные графические форматы.
Cuneiform использует libMagick, а Tesseract — leptonica.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21351
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Новая графическая оболочка для cuneiform

Сообщение Bizdelnick »

Lazy_Kent писал(а):
19.12.2011 17:06
И Cuneiform, и Tesseract понимают разные графические форматы.

Cuneiform, вроде, только BMP. Tesseract - в зависимости от параметров сборки, гарантированно - только TIFF, так что использовать BMP с ним точно смысла нет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: Новая графическая оболочка для cuneiform

Сообщение /dev/random »

Lazy_Kent писал(а):
19.12.2011 17:06
И Cuneiform, и Tesseract понимают разные графические форматы.

Bizdelnick писал(а):
19.12.2011 18:09
Cuneiform, вроде, только BMP.

Cuneiform может быть собран с или без поддержки ImageMagick. В первом случае он поддерживает кучу различных форматов, во втором - только bmp.
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

При линковке с libMagick++ (в моём дистрибутиве именно так) Cuneiform поддерживает все форматы, которые понимает ImageMagick.
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Lazy_Kent писал(а):
19.12.2011 17:06
Почему-то не работает распознавание с Tesseract.
Строка запуска выглядит так:

Код: Выделить всё

/usr/bin/tesseract input.bmp output -l rus

В случае Cuneiform:

Код: Выделить всё

cuneiform -l rus -f text -c1 -o /home/user/.yagf/output.txt /home/user/.yagf/input.bmp



Заодно поинтересуюсь, зачем нужно преобразование в BMP? И Cuneiform, и Tesseract понимают разные графические форматы.
Cuneiform использует libMagick, а Tesseract — leptonica.


Клавмиаьтура сломиалась. Писаьт невозмиожно. Отвечу завтра
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Lazy_Kent писал(а):
19.12.2011 17:06
Почему-то не работает распознавание с Tesseract.
Строка запуска выглядит так:

Код: Выделить всё

/usr/bin/tesseract input.bmp output -l rus


У меня все работает, что я делаю не так? :) Какая версия tesseract? с какими файлами данных он работает? знает ли он, где они лежат? Сама по себе эта консольная команда работает?

Lazy_Kent писал(а):
19.12.2011 17:06
В случае Cuneiform:

Код: Выделить всё

cuneiform -l rus -f text -c1 -o /home/user/.yagf/output.txt /home/user/.yagf/input.bmp

Заодно поинтересуюсь, зачем нужно преобразование в BMP? И Cuneiform, и Tesseract понимают разные графические форматы.
Cuneiform использует libMagick, а Tesseract — leptonica.


Ну, с куниформ, я надеюсь, все в порядке. А BMP используется потому, о чем тут уже написали. Некоторые сборки понимают только BMP, и чтобы не усложнять жизнь, блок для распознавания конвертируется в этот формат.

Lazy_Kent писал(а):
19.12.2011 18:52
При линковке с libMagick++ (в моём дистрибутиве именно так) Cuneiform поддерживает все форматы, которые понимает ImageMagick.


Просто не у всех это так. Да и не виду я особой разницы - перегонять из внутреннего представления в JPEG, например, или в BMP. Жесткого диска всем вроде должно хватать :)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21351
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Новая графическая оболочка для cuneiform

Сообщение Bizdelnick »

a_borovsky писал(а):
20.12.2011 11:20
Ну, с куниформ, я надеюсь, все в порядке. А BMP используется потому, о чем тут уже написали. Некоторые сборки понимают только BMP, и чтобы не усложнять жизнь, блок для распознавания конвертируется в этот формат.

А как насчёт Тессеракта? С ним такая конвертация точно не имеет смысла. Для него лучше TIFF использовать, если уж всё равно, в какой формат перегонять изображения.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Новая графическая оболочка для cuneiform

Сообщение Lazy_Kent »

a_borovsky писал(а):
20.12.2011 11:20
Lazy_Kent писал(а):
19.12.2011 17:06
Почему-то не работает распознавание с Tesseract.
Строка запуска выглядит так:

Код: Выделить всё

/usr/bin/tesseract input.bmp output -l rus


У меня все работает, что я делаю не так? :) Какая версия tesseract? с какими файлами данных он работает? знает ли он, где они лежат? Сама по себе эта консольная команда работает?

Консольная программа работает. Версия 3.01.
Причину я нашёл. По-моему, по умолчанию используется настройка tessData=/usr/share, а надо /usr/share/ (слэш в конце). Версия 0.8.7 выдала окошко с предупреждением об отсутствии пути "/usr/sharetessdata", а версия 0.8.9 молчит об этой ошибке конфигурации.

a_borovsky писал(а):
20.12.2011 11:20
Просто не у всех это так. Да и не виду я особой разницы - перегонять из внутреннего представления в JPEG, например, или в BMP. Жесткого диска всем вроде должно хватать :)
Хотелось бы иметь опцию отключения преобразования форматов. На это тратится время и ресурсы.

Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Bizdelnick писал(а):
20.12.2011 12:47
a_borovsky писал(а):
20.12.2011 11:20
Ну, с куниформ, я надеюсь, все в порядке. А BMP используется потому, о чем тут уже написали. Некоторые сборки понимают только BMP, и чтобы не усложнять жизнь, блок для распознавания конвертируется в этот формат.

А как насчёт Тессеракта? С ним такая конвертация точно не имеет смысла. Для него лучше TIFF использовать, если уж всё равно, в какой формат перегонять изображения.


Можно подумать
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: Новая графическая оболочка для cuneiform

Сообщение /dev/random »

Lazy_Kent писал(а):
20.12.2011 12:48
a_borovsky писал(а):
20.12.2011 11:20
Просто не у всех это так. Да и не виду я особой разницы - перегонять из внутреннего представления в JPEG, например, или в BMP. Жесткого диска всем вроде должно хватать :)
Хотелось бы иметь опцию отключения преобразования форматов. На это тратится время и ресурсы.

cuneiform работает с BMP. Если его собрать с поддержкой ImageMagick, то другие форматы он будет просто преобразовывать на лету в BMP. Так что это преобразование в любом случае будет происходить, не в оболочке - так в самом cuneiform'е.
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Lazy_Kent писал(а):
20.12.2011 12:48
Причину я нашёл. По-моему, по умолчанию используется настройка tessData=/usr/share, а надо /usr/share/ (слэш в конце). Версия 0.8.7 выдала окошко с предупреждением об отсутствии пути "/usr/sharetessdata", а версия 0.8.9 молчит об этой ошибке конфигурации.


По умолчанию, то есть когда программа сама ищет пути, концевой слеш добавляется всегда. Я убрал концевой слеш в версии 0.8.9 и получил то же сообщение об ошибке, что и в версии 0.8.7. Но вообще это баг со слешами.
В транке я его исрпавил, diff прилагается.

Lazy_Kent писал(а):
20.12.2011 12:48
Хотелось бы иметь опцию отключения преобразования форматов. На это тратится время и ресурсы.


Я сейчас хочу вообще переработать этот блок с целью повышения быстродействия.

Код: Выделить всё

Index: mainform.cpp
===================================================================
--- mainform.cpp    (revision 212)
+++ mainform.cpp    (working copy)
@@ -883,6 +883,8 @@
     sl.append("-l");

     sl.append(tesMap->value(language));

     QProcessEnvironment env = QProcessEnvironment::systemEnvironment();

+    if (!tessdataPath.endsWith("/"))

+        tessdataPath = tessdataPath.append("/");

     env.insert("TESSDATA_PREFIX", tessdataPath);

     proc.setProcessEnvironment(env);

     proc.start("tesseract", sl);
Спасибо сказали:
a_borovsky
Сообщения: 146
ОС: много

Re: Новая графическая оболочка для cuneiform

Сообщение a_borovsky »

Выпущен на волю YAGF 0.9.
Страница проекта
Из новшеств:
автоматическая обрезка черных краев страниц, получающихся при сканировании (может быть отключена через окно настроек)
изображения стали загружаться и обрабатываться еще более быстрее.
улучшено автоматическое выравнивание страниц.
В ближайших планах автоматическое разбиение страниц на блоки, после чего можно будет плавно переходить к версии 1.0.
Всех с наступающими праздниками! (:
Спасибо сказали: