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

» Разработка программ для обработки сканов книг

Автор: monday2000
Дата сообщения: 04.10.2006 09:28
В этой ветке я предлагаю обсуждать создание программ для обработки "сырых" сканов бумажных книг. Такая программа нужна как промежуточный этап между сканированием бумажной книги и кодированием её в формат DjVu/Pdf.

Наиболее известная программа такого типа - СканКромсатор.

Читайте также статью О возможности альтернативы СканКромсатору.

Также известны (на сегодняшний день):

1. unpaper v0.2 http://unpaper.berlios.de/
2. Pagetools http://pagetools.sourceforge.net/ (ищется автор проекта)
3. POST http://akakii.net/post.html (имеется только описание)

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

Родственные ветки:
Электронные книги: сканирование, обработка, сборка - II

Ссылки:
OCR Проект "Открытый код" Санкт-Петербургский государственного университета.

Смотрите также список ссылок на алгоритмы с исходниками:
[more]Список бесплатного графического софта:

http://www.graphiccompetitions.com/grsoft.php

Материалы для разработчиков:

http://www.djvu-soft.narod.ru/scan/#dev

Англоязычные проекты с открытыми исходниками:

http://freeimage.sourceforge.net/ - эта графическая библиотека считается наилучшей.

http://www.xdp.it/cximage.htm - графическая библиотека CxImage - не рекомендована к использованию, но зато содержит немало готовых алгоритмов.

http://sourceforge.net/forum/forum.php?thread_id=1356269&forum_id=36109 - сравнение CxImage и FreeImage.

http://unpaper.berlios.de/ - проект по обработке сканов книг.

http://www.leptonica.com/local-sources.html - библиотека базовых операций над изображениями.

http://pagetools.sourceforge.net/ - алгоритм deskew (пока только это там есть). Автор - кто-то из Рубордовцев. Кто - неизвестно.

http://durendal.org:8080/twiki/bin/view/Deskew/WebHome - исследования по алгоритму deskew.

http://www.codeproject.com/samples/matlabeng.asp - Using MATLAB Engine API to control MATLAB.

http://cvs.pld.org.pl/pocr/ - какие-то материалы, вроде бы по теме - но где там исходники?

http://www.codeproject.com/useritems/Deskew_an_Image.asp - How to Deskew an Image.

http://filters.sourceforge.net/ - библиотека графических фильтров на базе FreeImage.

http://jocr.sourceforge.net/links.html - список GPL OCR (+ http://tesseract-ocr.sourceforge.net/ )

http://akakii.net/post.html - проект по обработке сканов книг. Нет ни исходников, ни экзешников. Кто - неизвестно.

http://www.efg2.com/ - полезный сайт по работе с графикой. Вроде бы есть исходники там.

http://autotrace.sourceforge.net/ - проект по конвертации растр->вектор. Содержит много полезных ссылок для нашей тематики.

Несколько статей по теме "Исправление искривленных строк текста" (это называется Dewarping):

http://library.graphicon.ru/pubbin/list_papers.pl?search_p_child=1&search_prop_id=363
[/more]
Автор: monday2000
Дата сообщения: 04.10.2006 15:45
Я начну не с главного - а с той мысли, что только что пришла мне в голову:

На днях появилась программа DjVu OCR 2.1 - с поддержкой ABBYY FineReader v8.0. И вот у меня возникла такая идея: нельзя ли сделать так, чтобы одна из будущих версий DjVu OCR могла полностью ... самостоятельно управлять ABBYY FineReader v8.0? То есть сама его запускать, подавать сканы на распознавание, после чего обращаться к FRF-файлам, извлекать оттуда информацию, внедрять её в DjVu, и закрывать FineReader?

Может быть, тут поможет нововведение ABBYY FineReader v8.0 - скрипты. Но, вообще-то, тут нужно применить некие хакерские приёмы, типа ловить дескриптор окна и "нажимать" там нужную кнопку.

Если бы такую программу можно было сделать - то тогда можно было бы в перспективе создать полностью интегрированный "книжный" пакет программ.

Я написал Генчо об этом.
Автор: kontiky
Дата сообщения: 04.10.2006 17:10
monday2000

Цитата:
То есть сама его запускать, подавать сканы на распознавание, после чего обращаться к FRF-файлам, извлекать оттуда информацию, внедрять её в DjVu, и закрывать FineReader?

Возможно, лучше пойти по пути создания собственной OCR. Ведь для формата DjVu качество распознавания играет вспомогательную роль.
Автор: monday2000
Дата сообщения: 05.10.2006 08:01
kontiky

Цитата:
Возможно, лучше пойти по пути создания собственной OCR.

Это трудно. Можно пойти от обратного - попытаться сделать такой хитрый скрипт в 8 Файнридере, чтобы он обращался к DjVuOCR (и к DjVu Small, допустим).
kontiky
Как Ваши успехи в создании программы по обрезке сканов?

У меня тут есть ко всем такой вопрос - какую бы готовую графическую библиотеку избрать для программы обрезки сканов? У меня есть линки на них на http://www.djvu-soft.narod.ru/scan/#dev . Как насчёт http://freeimage.sourceforge.net/intro.html ? Эту библиотеку мне подсказал AndyZ - автор WinDjView. Ещё есть netpbm и ImageMagic - из самых популярных. Кто-нибудь знает, чем все эти библиотеки отличаются друг от друга? Какая предпочтительнее и почему?

Добавлено:
Кроме того, предлагаю всем, кто знает, поделиться линками на библиотеки таких алгоритмов, как deskew, despeckle, а также идеями насчёт того, как сделать в самодельной программе распознавание образа и выделение области, занимаемой текстом на скане.

Я пока знаю вот что: по deskew, despeckle - http://unpaper.berlios.de/ и http://www.leptonica.com/local-sources.html

По распознаванию образов - первое, что мне тогда пришло в голову - это нейросети: http://www.e-smirnov.narod.ru/PERSEPTRON/DOC/Smirnov.html
Автор: monday2000
Дата сообщения: 05.10.2006 12:06
На ловца и зверь бежит - смотрите, что я нашёл буквально за 15 минут:

http://sourceforge.net/projects/pagetools

Добавлено:
Вот это тоже может пригодиться:

http://durendal.org:8080/twiki/bin/view/Deskew/WebHome

Добавлено:
http://java.sun.com/products/java-media/jai/index.jsp

Добавлено:
В общем, на сегодняшний день возможная самодельная программа для обрезки сканов мне видится так:

1. Пусть это будет не одна программа, а комплекс из 2 программ:

а. Предподготовка сканов (унификация сканов) - назовём эту программу условно "Pr1".
б. Интеллектуальная обрезка того, что получилось на выходе Pr1 - назовём эту программу условно "Pr2".
В дальнейшем можно будет объединить (физически, но не логически) эти 2 программы воедино - чтобы получилось как в DjVuOCR, когда мы открываем прогу и выбираем, к какой подпрограмме перейти далее.

2. Рассмотрим Pr1. Что она будет делать? Я думаю так: пусть она принимает на входе множество одностраничных СЕРЫХ Tif (LZW, возможно) файлов - полученных прямо из-под сканера.
Далее пусть Pr1 делает с этими сырыми сканами следующее:

а. Разрезает сдвоенные развороты на одиночные страницы или отпиливает ошмётки - смотря какие сканы на входе. Эта операция может осуществляться БЕЗ РАСПОЗНАВАНИЯ ОБРАЗОВ, а именно - можно сделать один вертикальный резак, как в Кромсаторе. Ставим его вручную на линию сопряжения 2 страниц, и листаем в Pr1 сканы вручную по очереди. Когда на очередном скане окажется, что резак нужно подправить, подправляем его вручную и Pr1 при этом автозапоминает новую позицию резака - для всех будущих сканов. Кажется, так и в Кромсаторе.
В дальнейшем можно будет прикрутить к этой процедуре распознавание образов и сл-но автоматизировать её хотя бы частично.

б. Получив разрезанные одиночные сырые сканы, делаем в Pr1 deskew и despeckle.
в. Предварительно конветируем результирующие сканы в BW - для начала по порогу, а потом может, и как-то более хитро.
г. Корректируем вручную области наползания тени на текст - просматриваем полученные BW, отмечаем в спец. зоны места наползания тени на текст, затем возвращаемся к исходным серым сканам и "вытягиваем" отмеченные зоны, наблюдая это в превью-окошке некоем. После чего окончательно конвертируем Grey->BW.

3. Переходим к Pr2. Что она будет делать? В этой программе я предлагаю сосредоточить всё, относящееся к распознаванию образов. На входе Pr2 будет принимать сканы, вышедшие из Pr1, что позволит значительно упростить Pr2. Pr2 и будет при помощи распознаваня образов автоопределять контур голого текста, обрезать по нему, навешивать усреднённые поля.

Самое интересное - Pr2 можно и не делать пока (если окажется, что распознавание образов - слишком тяжкая вещь) - а скармливать продукцию Pr1 СканКромсатору - это уже будет серьёзное облегчение использования Кромсатора.

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

Добавлено:
ИМХО наиболее критическими операциями Pr1 являются deskew и despeckle - именно это наиболее сложно реализовать. Поэтому и базовую графическую библиотеку следует подбирать с учётом сложности реализации алгоритмов deskew и despeckle.

Поэтому пока что наибольшее внимание - поиску открытых исходников deskew и despeckle, затем - выбор базовой графической библиотеки.
Автор: kontiky
Дата сообщения: 05.10.2006 14:13
monday2000

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

Что-то у вас все очень сложно.

Я планирую делать (и делаю) так:
- создание каркаса приложения GUI в стиле FR (рабочее название программы ScanLab): загрузка набора картинок-страниц, концепция пакета (batch) и отображение его слева в окне приложения, укрупненный показ отдельных страниц справа в окне приложения. Тут не нужно изобретать велосипед. Такое расположение элементов вполне себя оправдывает. Сейчас я заканчиваю эту функциональность (+ уже готовое масштабирование страниц) и не позже чем через пару-тройку недель планирую выложить на обозрение обществанности. Выкладывание исходников на sourceforge.net. Это будет версия, ну допустим, 0.1
- сохранение и вычитка ранее созданных пакетов страниц (формат пакета будет открытый xml). Версия 0.2
- простейшие _ручные_ операции со страницами: crop (в стиле ACDSee), поворот страниц, возможно, разрезка сдвоенных страниц так как вы описали выше. Версия, допустим, 0.3
- автоматический поворот страниц и split pages (это, мне кажеться, достаточно взаимосвязанные операции). Версия 0.4
- автоматическое выделение областей текста. Версия 0.5
- добавление мультиязыкового интерфеса, помощи, имплементация пожеланий ползователей etc. Релиз. Версия 1.0

Это, так сказать, моя программа минимум.
Далее мне видится три направления развития программы:
1. Добавление функции сканирования страниц. Тут есть сложность - в java нет встроенных средств сканирования. Это вообще платформенно-зависимые вещи. Для их реализации нужно будет привлекать программиста на С/C++.
2. Кодирование в djvu. Здесь мне видется два варианта: интеграция в программу функций a la DjVu Small (недостаток: работает только под Windows); интеграция в программу собраную под разные платформы либу DjVuLibre (недостаток: качество кодирования?, опять нужно привлекать программиста на С/C++).
3. Реализация функций OCR и функций программы Генчо.
4. Реализация части функций Book Restorer (выравнивание строк, абзацев etc.)

В таком вот аксепте...

Добавлено:
monday2000
Рекомендую в шапке темы организовать и каталогизовать веб-находки (алгоритмы) по темам: "поворот страниц", "очистка мусора", "выделение областей текста", "ОCR"

Добавлено:
Что бы не быть уже совсем голословным:
Автор: monday2000
Дата сообщения: 05.10.2006 14:47
kontiky

Цитата:
Что-то у вас все очень сложно.

А что делать? Ведь программа в итоге должна получиться полноценной и функциональной, а не просто красивой игрушкой. И потом - я учитываю опыт СканКромсатора.

Цитата:
2. Кодирование в djvu. Здесь мне видется два варианта: интеграция в программу функций DjVu Small

Исходники DjVu Small я выложу обязательно. Кстати, я сейчас только тем и занимаюсь, что делаю новую версию. Ещё нужно 1-2 недели, чтобы сделать её.

Цитата:
3. Реализация функций OCR и функций программы Генчо.

У Генчо есть консольная утилитка FRFGrab - с каждой версией DjVuOCR идёт новая соответствующая версия FRFGrab. Насколько я помню, FRFGrab извлекает из FRF-файлов OCR-информацию - так что можно добавить функциональность DjVuOCR в свою прогу путём использования FRFGrab с навешиванием своего интерфейса на FRFGrab. Впрочем, я Генчо также вышлю исходники DjVu Small - может быть, он тоже захочет сделать комбинированную программу.

Цитата:
Рекомендую в шапке темы организовать и каталогизовать веб-находки

Сделаю чуть погодя... Было бы что каталогизировать...

Цитата:
Что бы не быть уже совсем голословным:

Красиво! А какую Вы среду разработки используете? Не этот ли там - "Sun 1 Studio 4" или как там его?
Автор: kontiky
Дата сообщения: 05.10.2006 15:07
monday2000

Цитата:
Исходники DjVu Small я выложу обязательно.

Это само по себе полезно, но я буду (если буду) делать свою реализацию. Мне просто не удастся заюзать повторно ваш код на своей джаве. Но вот набор и раположение опций возможно позаимствую

Цитата:
У Генчо есть консольная утилитка FRFGrab

Честно говоря, я бы предпочел увидеть алгоритмы Генчо. Может он их опубликовать?
Но на первый случай можно заюзать и FRFGrab.

Цитата:
Сделаю чуть погодя... Было бы что каталогизировать...

Если вы не возражаете, это сделаю я для начала.

Цитата:
Красиво! А какую Вы среду разработки используете? Не этот ли там - "Sun 1 Studio 4" или как там его?

Гуйня пишется на стандартном джавовском Swing-e. Возможно, я со временем сделаю внешний вид еще лучше и привлекательнее - это не очень сложно.
IDE я использую IDEA от JetBrains (на работе правда Eclipse).

Добавлено:
monday2000
добавте плиз в шапку
OCR Проект "Открытый код" Санкт-Петербургский государственного университета.
и/или дайте мне возможность ее редактировать.
Автор: monday2000
Дата сообщения: 09.10.2006 08:13
kontiky

Цитата:
добавте плиз в шапку

Сделал.

Цитата:
и/или дайте мне возможность ее редактировать.

А это не ко мне. Попробуйте попросить модераторов. А ещё лучше - сделайте свой сайт, туда все материалы - ссылки, файлы, и т.д. и выкладывайте - всё равно вё в шапку не влезет во-первых, а во-вторых - Вы там у себя будете полноправным хозяином, а линк на такой сайт я вставлю сюда в шапку. А как наберёте 200 постов - получите автоматически право изменять шапку.

Цитата:
вот набор и раположение опций возможно позаимствую

Берите всё, что хотите. Я вообще думаю превратить эту ветку (или аналогичные) в некую библиотеку алгоритмов, компонентов, литературы, ссылок для книгоделательных программ.

Цитата:
Честно говоря, я бы предпочел увидеть алгоритмы Генчо. Может он их опубликовать?

Спросите его по мылу. Но я не думаю, что он на это пойдёт - он вгасил уйму времени на исследование недокументированого формата FRF и вряд ли захочет "раскрыть карты". Зато ИМХО можно просить его в случае необходимости усовершенствовать FRFGrab.

Цитата:
Если вы не возражаете, это сделаю я для начала.

Делайте, давайте, и я буду делать - будем параллельно делать кто что может.
Автор: kontiky
Дата сообщения: 09.10.2006 12:35
monday2000

Цитата:
Спросите его по мылу.

Дайте его координаты, плиз.

Добавлено:
monday2000

Цитата:
А ещё лучше - сделайте свой сайт, туда все материалы - ссылки, файлы, и т.д. и выкладывайте - всё равно вё в шапку не влезет во-первых, а во-вторых - Вы там у себя будете полноправным хозяином, а линк на такой сайт я вставлю сюда в шапку.

Версия 0.1 вскоре будет выложена на sourceforge.net, как я и писал выше, со всем вытекающим (домашней страницей, исходниками etc.).
Будете тестировать?
Автор: monday2000
Дата сообщения: 09.10.2006 12:45
kontiky

Цитата:
Дайте его координаты, плиз.

А это мыло, которое в его программе указано - gencho мыло yourwap.com писать ему можно по-русски, хотя сам он из Софии.

Цитата:
Версия 0.1 вскоре будет выложена на sourceforge.net

А там на sourceforge.net, кажись, и сайт свой можно сделать? Как вот этот например: http://freeimage.sourceforge.net/

Цитата:
Будете тестировать?

Постараюсь. В том смысле, что пока всё свободное время уходит в DjVu Small - и ещё немало туда вообще времени пойдёт - очень много всякой там мелочёвки.
Автор: kontiky
Дата сообщения: 09.10.2006 12:50
monday2000
Есть несколько книг по распознаванию образов (рекомендованных одним из членов команды Abbyy) в формате djvu. Куда выложить?
Предупреждаю, книги больше математические, чем практические, но тем не менее.
Автор: monday2000
Дата сообщения: 09.10.2006 12:52
Вот здесь:

http://www.graphiccompetitions.com/grsoft.php

перечислен всякий бесплатный графический софт - полезный списочек. Есть вот такой графический редактор - GIMP - может, оттуда можно будет какие-то низкоуровневые исходники выдрать.

И ещё такая идейка старая: что за штука такая Matlab? Там вроде тоже какие-то исходрники есть. Насколько они низкоуровневы? Наверное, без матлаба они не работают?

Вот просто мне ссылка на эту тему подвернулась:

http://www.codeproject.com/samples/matlabeng.asp

Добавлено:
kontiky

Цитата:
Куда выложить?

Самое надёжное - Народ.ру - это если до 5 МБ. Можно попробовать туда же, куда и Генчо выложил последнюю версию - http://www.ucoz.ru/ - но это без гарантий, я ничего не знаю об этом сервисе. Есть и другие халявные сайты - типа h1.ru - но не знаю, насколько это надёжно. Из обменников - неплохой upload2.net - написано, что "File will be saved on server for 1 year" - но верится с трудом.

Я в таких случаях режу большие файлы на куски до 5 МБ Total Commander'ом (по способу umup.narod.ru) и заливаю к себе на Народ. Это, конечно, не очень удобно - зато Народ.ру - это очень надёжно. Единственный недостаток Народа - крайне низкая скорость для нероссийскиx IP - но пусть это будут проблемы скачивающих.

Добавлено:
Вот тут http://cvs.pld.org.pl/pocr/ вроде бы должны быть какие-то исходники - но я пока ничего путного не могу оттуда извлечь...

Добавлено:
How to Deskew an Image

http://www.codeproject.com/useritems/Deskew_an_Image.asp

Добавлено:
В конце этой статьи http://en.wikipedia.org/wiki/Hough_transform есть 2 ссылки на страницы, где есть исходники JAVA-алгоритма Hough transform, применяемого при deskew.

Добавлено:
Почитал информацию на http://freeimage.sourceforge.net/ . Похоже, что эта библиотека слишком крутая для такой программы - она умеет слишком многое. Может быть, есть смысл поискать что-то попроще, а то и просто самостоятельно скомпилировать LibTiff с зависимыми библиотеками. Пока тут всё неясно - какую графическую библиотеку под Windows избрать?
Автор: kontiky
Дата сообщения: 09.10.2006 14:41
monday2000

Цитата:
А там на sourceforge.net, кажись, и сайт свой можно сделать?

Совершенно верно.

Цитата:
Постараюсь.

Мне будет очень нужна обратная связь от пользователей. Тяжело (да и не интересно) разрабатывать в вакууме.

Цитата:
Есть вот такой графический редактор - GIMP - может, оттуда можно будет какие-то низкоуровневые исходники выдрать.

Не думаю. Это же в принципе свободный фотошоп. Ничего принципиально интересного или "военного", на мой взгляд, в тамошних алгоритмах нет.

Цитата:
И ещё такая идейка старая: что за штука такая Matlab?

На матлабе интересно пробовать и отлаживать разные алгоритмы обработки изображний. Например, в OCR Проекте "Открытый код" доступны исходники алгоритмов на матлабе для поворота изображений и сегментации. И их сравнение. Возможно, буду работать на нем для исследования своих алгоритмов.

Цитата:
Добавлено:

Спасибо за ссылки. Погляжу.
Автор: monday2000
Дата сообщения: 09.10.2006 14:44
LibTIFF - TIFF Library and Utilities

http://www.libtiff.org/

Это самая базовая библиотека, все остальные, как я понимаю, более высокоуровневые.

Добавлено:
kontiky

Цитата:
Мне будет очень нужна обратная связь от пользователей. Тяжело (да и не интересно) разрабатывать в вакууме.

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

Добавлено:
Вот эта библиотека http://www.xdp.it/cximage.htm выглядит попроще, чем FreeImage. Попробую поприсматриваться к ней. Чёрт, и спросить-то не у кого (насчёт выбора графической библиотеки).

Добавлено:
Похоже, что если и браться за написание такой программы под Windows, то прийдётся начать ОЧЕНЬ издалека: сначала написать серию примитивных программ, каждая из которых будет реализовывать некую одну исследуемую операцию - например, deskew - сделать программу, чтобы загружала 1 tif, применяла к нему deskew, и больше чтобы ничего не делала.

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

Короче, получить так через полгодика в итоге библиотеку более-менее отлаженных компонентов - и только потом пытаться собрать из них программу по обрезке сканов.
Автор: kontiky
Дата сообщения: 09.10.2006 16:25
monday2000

Цитата:
Вот эта библиотека http://www.xdp.it/cximage.htm выглядит попроще, чем FreeImage. Чёрт, и спросить-то не у кого (насчёт выбора графической библиотеки).

Спросите у разработчика WinDjVu. Он как раз на С++ пишет, но использует именно FreeImage (это я немного покопался в его исходниках).

Цитата:
Похоже, что если и браться за написание такой программы под Windows, то прийдётся начать ОЧЕНЬ издалека:

Если вы заметили, я иду другим путем. Создаю каркас приложения, и потом обрастаю его мясом алгоритмов. Мне такой путь кажеться более продуктивным.
Автор: monday2000
Дата сообщения: 10.10.2006 07:32
kontiky

Цитата:
Спросите у разработчика WinDjVu

Уже спросил - вчера. Пока жду ответа. Меня смущает то, что у FreeImage слишком много возможностей - какого же, блин, размера будет скомпилированный из FreeImage экзешник (если туда подкомпилируются все фичи)?

Цитата:
Мне такой путь кажеться более продуктивным.

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

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

А вот если будут такие "компоненты" - то любой желающий сможет их взять и сделать что-то своё - даже не обязательно аналог кромсатора, а нечто иное, тоже очень нужное - пока даже и фантазии не хватит, что именно.

Дело в том, что по большому счёту наших с Вами сил недостаточно - даже если бы представить такой фантастический вариант, что к нам присоединился бы bolega. Нужно так или иначе привлекать людей. Кстати, ИМХО в том и ошибка кромсатора, что он - система замкнутая, т.е. варится в своём соку - вот и результат - что мы были вынуждены взяться аж за разработку альтернативы ему, тогда как будь кромсатор с открытыми исходниками - сколько бы это сэкономило бы нам сил и времени! Впрочем, нет худа без добра - так мы полностью свободны в выборе пути разработки.

Добавлено:
Интересная ссылка http://ocr.apmath.spbu.ru/ . Я почитал - довольно понятно изложено. Вот ещё из кода страницы http://ocr.apmath.spbu.ru/web_soft/CallServlet.html я взял адрес интересный:

http://195.19.227.46:8080/

Не знаю, что здесь, но выглядит, как их склад Java-программ - может, для чего-то пригодится.
Автор: kontiky
Дата сообщения: 10.10.2006 11:32
monday2000

Цитата:
Но тут зависит от того, какую вообще изначально ставить перед собой цель - если задача просто разработать как можно быстрее аналог кромсатора - то да, так быстрее.

Цель у мнея одна и она проста: облегчить постобработку сканов страниц.
А кромсатор... Какой такой кромсатор?

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

Главный инструмент привлечения сторонных разработчиков на мой взгляд - это open source лицензия и хороший существующий программный код. Тогда люди и потянуться.

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

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

Цитата:
Дело в том, что по большому счёту наших с Вами сил недостаточно - даже если бы представить такой фантастический вариант, что к нам присоединился бы bolega.

Как-то вы немного недооцениваете собственные (да и мои тоже) силы. Это даже как-то обидно, чесслово. Что же касается тов. bolega, то после прочтения выжимки из его постов на вашем сайте, мне про него уже все ясно.

Цитата:
Кстати, ИМХО в том и ошибка кромсатора, что он - система замкнутая, т.е. варится в своём соку

Разработчик видимо думает, что его программа - истина в последней инстанции среди программ постсканерной обработки, а сам он - мегапрограммист. Не словом, а делом покажем, что это далеко не так.

Цитата:
Впрочем, нет худа без добра - так мы полностью свободны в выборе пути разработки.

Именно.
Автор: monday2000
Дата сообщения: 10.10.2006 12:04
kontiky

Цитата:
Как-то вы немного недооцениваете собственные (да и мои тоже) силы. Это даже как-то обидно, чесслово.

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

Цитата:
Что же касается тов. bolega, то после прочтения выжимки из его постов на вашем сайте, мне про него уже все ясно.

bolega сделал ОЧЕНЬ многое, за что ему огромное спасибо. Кто-то писал, что без Кромсатора не было бы и Колхоза. А если что-то при этом получилось не совсем удачно - то не беда, теперь мы можем подхватить его дело и оказать поддержку развитию делу "обрезающих" программ. Также нужно не забывать, что Колхоз сейчас и Колхоз 3-4 года назад, когда Кромсатор только-только появился - это довольно разные вещи по уровню развития. Конечно, сейчас проще создавать такую программу - всё успело так развиться, многое сейчас гораздо яснее, чем раньше.
Лично мне совсем не хочется критиковать "просто так" Кромсатор и я не получаю от этого никакого удовольствия - просто покритиковать нужно было, чтобы дать толчок дальнейшему развитию таких программ, иначе как-то было нечётко, "а что, собственно, нужно"?
Впрочем, даже и без исходников Кромсатор здорово поможет - во-первых, общими концепциями, во-вторых, опытом своей эксплуатации.
Автор: kontiky
Дата сообщения: 10.10.2006 12:12
monday2000

Цитата:
Я имею в виду ту мысль, что по одиночке прийдётся угрохать уйму сил и времени, что жалко тогда как было бы сообщество программистов, всё получилось бы куда как быстрее.

Конечно. Именно поэтому я и хочу выложить исходники под open source. Вместе значительно быстрее и интереснее работается.
Автор: monday2000
Дата сообщения: 10.10.2006 12:17
По поводу графической библиотеки: всё-таки я опять склоняюсь тому, чтобы избрать FreeImage, а не какую-то иную библиотеку. Доводы тут чисто субъективные пока что. Из рассмотрения сайтов http://freeimage.sourceforge.net/ и, скажем, http://www.xdp.it/cximage.htm , становится очевидным, что FreeImage - субъективно гораздо более развитый и регулярно поддерживаемый продукт, а также гораздо более популярный - вот например, список приложений на её базе: http://freeimage.sourceforge.net/users.html . Кстати, там есть очень любопытная ссылка - Filters - http://filters.sourceforge.net/ - может пригодиться.

А что касается "лишней" функциональности - то её можно вырезать аккуратно (если потребуется). Зато, надеюсь, надёжность FreeImage будет повыше, чем у аналогов, да и известностью она тоже пользуется, что немаловажно.
Автор: kontiky
Дата сообщения: 10.10.2006 12:20
monday2000
Что бы не быть голословным 2 (текущее состояние):


Добавлено:
monday2000

Цитата:
По поводу графической библиотеки:

Поглядите еще в сторону http://www.trolltech.com/products/qt
Это кроссплатформенная либа для создания GUI на C++.
Автор: monday2000
Дата сообщения: 10.10.2006 12:48
kontiky

Цитата:
Что бы не быть голословным 2 (текущее состояние):

Отлично! На вид - красиво. А я пока запасся рантаймом под винду уже.

Цитата:
Это кроссплатформенная либа для создания GUI на C++.

Слышал про такое. На данном этапе я пока не рискну браться за такие вещи - типа Qt - там же надо ещё разбираться. Пока буду держаться чего-то наиболее простого - для начала.
Автор: kontiky
Дата сообщения: 10.10.2006 14:33
monday2000

Цитата:
Отлично! На вид - красиво. А я пока запасся рантаймом под винду уже.

Ну вот. А вы боялись мегабайты качать
Автор: monday2000
Дата сообщения: 10.10.2006 15:46
kontiky

Цитата:
А вы боялись мегабайты качать

Да нет, это у меня из старых покупных запасов - знаете, когда пара десятков сидюков, попробуй там что-нибудь найти. А на двд перезаписать - нет времени. А вообще - 15 метров она - j2re-1_4_2_07-windows-i586-p - сановская родная. Ведь микрософт уже бросил свой вариант - а жаль - ставился из броузера по запросу, и вообще был гораздо легче.

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

А со временем, быть может, возьмём алгоритмы из Вашей Java-проги и на винду их "перебьём".
Автор: kontiky
Дата сообщения: 10.10.2006 16:04
monday2000

Цитата:
А вообще - 15 метров она - j2re-1_4_2_07-windows-i586-p - сановская родная.

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

Цитата:
А со временем, быть может, возьмём алгоритмы из Вашей Java-проги и на винду их "перебьём".

Простите, а какой в этом смысл, если все будет прекрасно работать на джаве в той же винде?
Автор: monday2000
Дата сообщения: 11.10.2006 07:49
kontiky

Цитата:
Простите, а какой в этом смысл, если все будет прекрасно работать на джаве в той же винде?

Всё дело только лишь в размере. Чем меньше размер - тем больше людей мы привлечём к "книгоделанию". Дело в том, что основная масса людей согласится заниматься книгоделанием лишь и только при том условии, что это занятие не будет превышать определённый порог сложности/трудоёмкости/цены. Допустим, скачать рантайм на 15 метров - можно, конечно, но согласитесь - для этого надо иметь бОльший заряд энтузиазма, чем если скачать нужно лишь 2-3 метра. Большинство народу при необходимости скачать более 10 метров просто плюнет и не будет скачивать и делать вообще ничего - а будет задежавючивать сырые сканы (и то - в лучшем случае). И они ведь никому ничего, естественно, не скажут - эти люди - обо всём этом можно догадаться лишь умозрительно.

Я имею в виду не таких, как Вы, я, и колхозники - я подразумеваю ту армию юзеров-примитивов, на потребности которых я и ориентируюсь. Потому и с самого начала зашёл разговор о недостатках Кромсатора - да, он весит в пределах 2 метров - это великолепно, но зато он неинтуитивно-ясен, что сводит его преимущества на нет по отношению к юзерам-примитивам - для них Кромсатор всё равно что не существует вовсе.

Всё это есть объективная ситуация, никак от нас с Вами не зависящая (т.е. что "большинство юзеров - примитивны"). Я вижу нашу задачу в том, чтобы суметь ПОДЛАДИТЬСЯ под потребности именно таких людей.

Ведь тот, кто сам по себе жаждет создавать е-книги - он и Кромсатором воспользуется, и чем угодно - даже просто руками порежет сканы (я так создал более 20 книг ) - такому человеку не критично появление Вашей будущей программы.

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

Добавлено:
kontiky
Вот мне какая вчера пришла в голову мысль:

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

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

Я вот подумал: а нельзя ли и этих людей как-то привлечь к книгоделанию? Но как - у них ведь даже нет компьютера?

Значит, надо как-то обойтись без компьютера. А как? И тут меня осенило - ведь есть же ещё сотовые телефоны! Они становятся всё умнее и умнее. Есть же уже такие "смартфоны" - это телефон+компьютер. И у них есть встроенные фотокамеры зачастую.

Конечно, пока это малореально - но в будущем, по мере совершенствования сотовых телефонов, это может стать реальностью.

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

Всё это может выглядеть так: человек телефоном фотографирует всю книгу от корки до корки, тут же на компьютере, встроенном в телефон, обрабатывает сканы и дежавючит их, и с этого же телефона выходит в Интернет и отсылает в общую копилку сделанную им книгу. А также сам читает свою же книгу с этого же телефона.

Вот так можно теоретически обойтись вообще без компьютера. Останется только сделать ещё Java-DjVu-кодировщик (здесь http://javadjvu.foxtrottechnologies.com/ кажется только просмотрщик).

Тут, конечно, есть одно слабое место: книжный обрабатывающий софт для телефонов должен быть чрезвычайно умным - чтобы с ним мог ТАКОЙ чайник справиться.

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

Кстати, я только вчера также понял, что задача разработки программы, альтернативной Кромсатору, будет опираться на ту технологию, которая в OCR-кругах именуется как СЕГМЕНТАЦИЯ страницы - этап, необходимый перед самим OCR.

Эта мысль мне кажется очень важной - теперь, используя термин СЕГМЕНТАЦИЯ, мы сможем найти общий язык с OCR-щиками - объяснить им, что нам нужно, и взять от них то, что у них уже есть на эту тему.
Автор: monday2000
Дата сообщения: 11.10.2006 11:07
Вот нашёл сравнение CxImage и FreeImage:

http://sourceforge.net/forum/forum.php?thread_id=1356269&forum_id=36109
Автор: kontiky
Дата сообщения: 11.10.2006 14:10
monday2000

Цитата:
Всё дело только лишь в размере. Чем меньше размер - тем больше людей мы привлечём к "книгоделанию".

Согласен. Как будто, все логично. Но поглядите - инсталляция FR "весить" 40Мб и, тем не менее, FR стоит у всех, кому он нужен. И никто не плачется на размер, потому, что программа-то нужная.

Цитата:
я подразумеваю ту армию юзеров-примитивов, на потребности которых я и ориентируюсь

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

Цитата:
Ваша будущая программа - я Вам честно скажу - не найдёт действительно широчайшего спроса (хотите Вы того или нет) - и именно из-за необходимости скачать Java-рантайм под винду.

Про размер я уже выше написал. Но вообще, будем посмотреть

Цитата:
А тут как раз уже будет Ваша программа - она-то и сможет работать на сотовых телефонах.

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

Цитата:
Всё это может выглядеть так: человек телефоном фотографирует всю книгу от корки до корки, тут же на компьютере, встроенном в телефон, обрабатывает сканы и дежавючит их, и с этого же телефона выходит в Интернет и отсылает в общую копилку сделанную им книгу.

Современное железо телефонов это не потянет совершенно
Но вообще, в принципе, идея очень интересная. Уже сейчас можно попробовать снимать камерой телефона (у меня как раз на телефоне сименс 1.3Мп камера) и что-то делать с этими снимками на телефоне. Преобработку какую-нибудь... Интересная идея, да.

Цитата:
Кстати, я только вчера также понял, что задача разработки программы, альтернативной Кромсатору, будет опираться на ту технологию, которая в OCR-кругах именуется как СЕГМЕНТАЦИЯ страницы - этап, необходимый перед самим OCR.

Ну так, я это все уже имею ввиду

Цитата:
Эта мысль мне кажется очень важной - теперь, используя термин СЕГМЕНТАЦИЯ, мы сможем найти общий язык с OCR-щиками - объяснить им, что нам нужно, и взять от них то, что у них уже есть на эту тему.

Угу. Только покажите мне этих OCR-щиков - людей занимающихся разработкой таких программ. Где они есть? Где форумы по теме?
Автор: monday2000
Дата сообщения: 11.10.2006 15:34
kontiky

Цитата:
И никто не плачется на размер, потому, что программа-то нужная.

Да, но не забывайте - Файнридер продаётся на дисках в КАЖДОМ городе - его не надо скачивать.

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

Да я знаю. Я и не говорю, что это реально - пока. Но прогресс околокомпьютерной техники так стремителен...

Цитата:
Только покажите мне этих OCR-щиков - людей занимающихся разработкой таких программ.

Кое-что есть - тут: http://jocr.sourceforge.net/links.html и ещё http://sourceforge.net/projects/tesseract-ocr - это все GPL OCR, что я знаю. Просто я полгода назад интересовался, какие вообще есть GPL OCR, ну и парочку ссылок тогда подкинул на http://jocr.sourceforge.net/links.html .

Добавлено:
Вот опять я заглянул на http://pagetools.sourceforge.net/ - довольно полезно вроде бы. Хотя выглядит как заброшенный, о чём я и спросил в форуме: http://sourceforge.net/forum/forum.php?thread_id=1258517&forum_id=456914 .

Но заявлено, что там уже реализован некий БЫСТРЫЙ deskew-алгоритм - пока только для BW.

Вообще, конечно, есть и такой путь - читать научные статьи и по ним самому делать с нуля алгоритмы по описанию в статье. Пример такой статьи: http://doi.ieeecomputersociety.org/10.1109/TPAMI.2005.89 (там она за деньги, но при большом желании можно нарыть такое и бесплатно). Именно таким путём шёл bolega, насколько я могу судить из его высказываний. Но это, конечно, самый трудный путь, и для начала им идти не стоит.


Добавлено:
Я хотел бы упомянуть об ещё одном малоизвестном проекте:

http://akakii.net/post.html

К моему БОЛЬШОМУ сожалению, это всего лишь только одно описание некой программы - и больше ничего. Там нет ни самой скомпилированной программы, ни, тем более, исходников.

Все мои попытки связаться с автором программы в течение последних нескольких дней заканчивались ничем. (никакого ответа не было).

Страницы: 12345

Предыдущая тема: программа или скрипт для перелистівания страниц


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