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

» Scan Tailor

Автор: monday2000
Дата сообщения: 16.11.2008 16:52
Я сделал примерчик сравнения алгоритма выравнивания освещённости у Book Restorer 4.1, Scan Kromsator v5.91 и ImCb. Пример выложил:

http://www.djvu-soft.narod.ru/bookscanlib/sl_example.rar (744 КБ)

Там внутри исходный скан, затем он же обработанный в BR, он же обработанный в SK, и он же обработанный в ImCb.

На мой взгляд, единственный алгоритм, который действительно выравнивает освещённость - это тот, который встроен в Book Restorer 4.1. Все остальные реализации ИМХО не дотягивают до понятия "выравнивание освещённости". Это заметно при внимательном рассмотрении выложенного примерчика. Например, чрезмерно высвеченные буквы (в засвеченной полосе) темнеют (в достаточной степени) до уровня нормальных букв только у BR - и ни в одной из 2 альтернативных реализаций.

Кстати, в проекте AForge.NET тоже есть попытка реализации Illunation Correction - но я не смог там разобраться, точнее, то, что получилось у меня при перенесении их Illunation Correction во FreeImage - полная фигня.

У меня есть одна идея: поковыряться в алгоритмах освещения в GIMP - и посмотреть, как там реализуется освещённость точечным источником - а затем постараться сделать выравнивание данного свойства.

Добавлено:
Arcand
Для реализации Вашего CorelScan не хватает по большому счёту только путёвого алгоритма Smoothing (вместо этого барахла) - всё остальное уже практически есть.

Bместо Smart Blur -> Selective Blur, автоуровни - кажется, есть в GIMP, хитрые бинаризации - есть в AForge.NET, контурная резкость - реализована - это Unsharp Mask, причём это высококачественный Unsharp Mask.

Добавлено:

Цитата:
Идея выравнивания освещения заключается в том, чтобы выделить фон изображения, то есть убрать оттуда весь контент и залить эти места цветом бумаги, и потом пересчитать исходное изображение по этой формуле:
new_gray_level = orig * 255 / background

Вот это сделано в AForge.NET как Illumination Correction. Только вместо 255 берётся средний цвет исходной картинки, а в качестве background - оригинальное изображение, подвергнутое сильнейшему Gaussian Blur.
Автор: monday2000
Дата сообщения: 16.11.2008 23:15
Я сделал новую заметку:

16. Простейший фильтр Illuminance Correction

http://www.djvu-soft.narod.ru/bookscanlib/016.htm
Автор: dma200899
Дата сообщения: 17.11.2008 03:54
Я вот думаю, может в СТ можно сделать что-нибудь типа кнопки
"а вот тут ко всем картинкам применяется скрипт/плугин пользователя"
а monday2000 свою кипучую энергию и направит на написание таких плагинов/скриптов.
Автор: Tulon
Дата сообщения: 17.11.2008 17:00

Цитата:
Я вот думаю, может в СТ можно сделать что-нибудь типа кнопки
"а вот тут ко всем картинкам применяется скрипт/плугин пользователя"
а monday2000 свою кипучую энергию и направит на написание таких плагинов/скриптов.

Это в принципе можно, но отношение полезности к сложности реализации будет слишком низким.

Добавлено:

Цитата:
Цитата:Работаю над гибридным алгоритмом выравнивания освещения. Первый этап - то, что мне предложил U235 (морфологическое выделение фона, если кому интересно - расскажу подробности). Второй этап - генерация полиномиальной поверхности на основе того, что выдал первый этап, не принимая во внимание области явного foreground'а.

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

Когда фон расчитывается с помощью морфологии, на этом самом фоне хорошо видны буквы, которые были в тени разворота книги, а это снижает качество выравнивания освещения. Если буквы хорошо отделены друг от друга, пострадают только крайние буквы, вне зависимости от ширини тени, а если нет - то целые слова, а это уже очень заметно.
Автор: monday2000
Дата сообщения: 17.11.2008 21:27
Я поставил себе Corel PHOTO-PAINT 12 - чтобы посмотреть на фильтры из CorelScan. Интерфейс оставил английский - русик на него не буду ставить.

Меню Effects-Blur содержит помимо прочего такие интересные нам пункты: Smooth..., Soften..., Smart Blur.... Вот что о них сказано в хелпе:

Цитата:
Smooth — mutes the differences between adjacent pixels to smooth an image without losing detail. It is especially useful for removing the dithering that is created when you convert an image from the paletted mode to the RGB mode. The Smooth effect produces a more pronounced effect than the Soften effect. The Smooth effect is also a preset lens type.
Soften — smooths and tones down the harsh edges in an image without losing important image detail. The difference between the Smooth and Soften effects is subtle but is often apparent when images are viewed at high resolution. The Soften effect is also a preset lens type.
Smart blur — blurs an image but retains the edge detail. This effect is useful if you want to retain the sharp lines and edges, such as the ones that form the letters in text, when you export an image to a file format that would normally reduce the amount of detail.


Меню Effects-Sharpen содержит помимо прочего такие интересные нам пункты: Unsharp mask..., Adaptive unsharp..., Sharpen..., Directional sharpen.... Вот что о них сказано в хелпе:

Цитата:
Unsharp mask — lets you accentuate edge detail and focus blurred areas in the image without removing low-frequency areas.
Adaptive unsharp — lets you accentuate edge detail by analyzing the values of neighboring pixels. This filter preserves most image detail, but its effect is most apparent in high-resolution images.
Sharpen — lets you accentuate the edges of the image by focusing blurred areas and increasing the contrast between neighboring pixels. Move the Background slider to set the threshold for the effect. Lower values increase the number of pixels changed by the sharpening effect.
Directional sharpen — lets you enhance the edges of an image without creating a grainy effect.
Автор: monday2000
Дата сообщения: 18.11.2008 20:33
Я сделал новую заметку:

17. Простой Bicubic Resize

http://www.djvu-soft.narod.ru/bookscanlib/017.htm
Автор: monday2000
Дата сообщения: 19.11.2008 15:12
Smoothing Operations

http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Smoothin.html

Conservative Smoothing

http://homepages.inf.ed.ac.uk/rbf/HIPR2/csmooth.htm

Добавлено:
Image Scaling With Bresenham

http://www.ddj.com/architect/184405045

Добавлено:
Source Code for Smooth Image Resampling (Resizing) in C/C++ (Visual Studio)
by Ryan Geiss - 3 July 2008

http://www.geisswerks.com/ryan/FAQS/resize.html

Добавлено:
Quick image scaling algorithms

http://www.compuphase.com/graphic/scale.htm

Добавлено:
Digital Image Restoration

http://www2.imm.dtu.dk/~pch/PPTSVD/pptsvd.html
Автор: monday2000
Дата сообщения: 19.11.2008 20:34
Я сделал новую заметку:

18. Простой Bilinear Resize.

http://www.djvu-soft.narod.ru/bookscanlib/018.htm

Добавлено:
У меня всё не идёт из головы этот Сorel Smooth. Что же это такое? Смотрел в Гугле по ключевым словам "Image smooth algorithm" и "Adaptive smoothing". Ссылки - в предыдущем посте.

Вот сейчас "перебивал" ресайзинговые алгоритмы и случайно заглянул очередной раз в табличку визуальных образцов качества работы различных ресайзинговых алгоритмов FreeImage. Эта табличка - в самом конце PDF-хелпа к FreeImage - там женская грудь в жёлтом купальнике. .

Посмотрел - и тут меня осенило: из всех имеющихся там алгоритмов сглаживания - Box, Bilinear, Mitchell and Netravali's Bicubic, Catmull-Rom, Lanczos3, Cubic B-Spline - самое лучшее на вид сглаживание даёт Cubic B-Spline! Это там хорошо по картиночке видно.

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

То есть, пожалуй такой некий Smooth-алгоритм можно сделать, возможно так: скрестить воедино 2 алгоритма - 14. Фильтр Selective Gaussian Blur и FreeImage_Rescale(...FILTER_BSPLINE). И не делать при этом ресайзинг - т.е. чтобы размер картинки на входе и выходе не менялся (это даст даже небольшое упрощение).

Но есть проблема: 14. Фильтр Selective Gaussian Blur - однопроходный, а FreeImage_Rescale(...FILTER_BSPLINE) - двухпроходный. Так что, возможно, потребуется ещё заглядывать в обычный (не selective) двухпроходный Gaussian Blur, который есть в 13. Фильтр Unsharp Mask (на базе Gaussian Blur).

Вот что написано про Cubic B-Spline ресайзинг в PDF-хелпе к FreeImage:

Цитата:
B-Spline filter

The B-spline filter produces the smoothest output, but tends to smooth over fine details. This function requires the same processing time as Mitchell and Netravali’s Bicubic filter. B-spline filter is recommended for applications where the smoothest output is required.


Добавлено:
Я сделал новую заметку:

19. Nearest Neighbor Resize

http://www.djvu-soft.narod.ru/bookscanlib/019.htm
Автор: Tulon
Дата сообщения: 19.11.2008 22:49

Цитата:
The B-spline filter produces the smoothest output, but tends to smooth over fine details.

Для текстовых сканов сильное размывание будет вредным.
Автор: monday2000
Дата сообщения: 20.11.2008 08:01
Tulon
Речь идёт исключительно о краевом размытии контуров букв - т.е. это как раз то, что делает Corel Smooth. Если же сплайн будет слишком сильным по размытию - то у нас же в запасе ещё пяток сглаживающих техник из FreeImage.
Автор: U235
Дата сообщения: 20.11.2008 08:33
Ну и зачем контуры букв размывать??
Автор: monday2000
Дата сообщения: 20.11.2008 10:20
U235
Я оговорился. Не "размытие" - а "сглаживание".
Автор: monday2000
Дата сообщения: 20.11.2008 21:17
Я сделал новую заметку:

Фильтр B-Spline Smooth

http://www.djvu-soft.narod.ru/bookscanlib/bspline.htm

Это такая "техническая" заметка - т.е. просто кусок кода, выдранный из FreeImage - как заготовка для экспериментов для его возможной модификации (придание селективности).

Но это и сам по себе ИМХО крайне любопытный алгоритм - он и сейчас, без селективности, очень здорово сглаживает буквы - правда, они от этого становятся немного толстенькими, но, быть может, это дополнительное утолщение потом снимется через Unsharp Mask? Нужны эксперименты.
Автор: monday2000
Дата сообщения: 21.11.2008 12:54
http://en.wikipedia.org/wiki/Category:Image_processing
Автор: monday2000
Дата сообщения: 21.11.2008 19:06
Чуть подправил код в http://www.djvu-soft.narod.ru/bookscanlib/bspline.htm - чтобы там проходы по пикселям были более чётко наглядны.

Добавлено:
Я тут немного поэкспериментировал со своми Blur-алгоритмами и с Corel PHOTO-PAINT'овскими. Сделал контрольные образцы и выкладываю их как небольшой пакет:

Сравнение результатов некоторых Blur-фильтров (157 КБ)

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

У Corel Smooth есть один параметр - проценты от 0 до 100%. Я сделал Corel Smooth 3 образца - 25%, 50% и 100%. Чем больше процент - тем больше сглаживание.

Эти образцы очень удобно просматривать в ACDSee в увеличенном (насколько экран позволяет) масштабе (надо установить опцию "зафиксировать масштаб" и просматривать в полноэкранном режиме Page Up-Page Down).

Чисто визуально можно почерпнуть немало информации. Например, хорошо видно, что Corel Smooth сильно отличается по производимому эффекту от Gaussian Blur. Gaussian Blur тоже сглаживает контур - но при этом буквы как бы "расплываются" вширь - как кляксы на промокашке. А при Corel Smooth - нет (не расплываются), а только сглаживаются. Corel Smooth по смыслу очень сильно напоминает антиалиасинг - это всё та же вставка (ловко подобранных по цвету) полутоновых пикселей между зазубринами контура букв.

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

1. Оказалось, что результат действия моего алгоритма B-Spline Smooth визуально практически идентичен результату действия Corel Smooth 50% (!!!) Разница составляет буквально единичные малозначащие пиксели. Каждый может убедиться в этом самостоятельно.

2. Сравнивая результат действия Selective Gaussian Blur и Corel Smooth, я осознал, что алгоритм Corel Smooth не является селективным. (!) Почему я так решил: Selective Gaussian Blur абсолютно никак не затрагивает буквы - а только размывает фон скана. А Corel Smooth буквы-то затрагивает (ну и фон чуток сглаживает тоже).

3. Исходя из вывода п.1, я делаю предположение: Corel Smooth может быть воссоздан в виде B-Spline Smooth, у которого регулируется некий параметр силы сглаживания. Что это за параметр - буду думать. Не исключено, что Corel Smooth - это и есть параметризованный B-Spline Smooth.

А вот сравнение Selective Gaussian Blur и Corel Smart Blur выявило значительное преимущество второго перед первым. Скажем, Corel Smart Blur 50% полностью размывает фон до серого монотонного состояния - и контуры букв при этом страдают ощутимо меньше, чем при использовании Selective Gaussian Blur.

Хотя, в принципе, Selective Gaussian Blur и Corel Smart Blur являются схожими по смыслу алгоритмами. Это как бы жигули и мерседес - оба автомобили, только качеством отличаются. Так что до воссоздания Corel Smart Blur ещё далековато пока.
Автор: dma200899
Дата сообщения: 22.11.2008 08:21
шапку бы поправили, что пользоваться прогой нельзя
ведь как раз уже можно

Добавлено:

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

поправьте - в смысле сделайте варинат "как есть" для исходных ч/б сканов
Автор: Tulon
Дата сообщения: 22.11.2008 18:42
Есть один интересный алгоритм сглаживания; Savitzky-Golay.
Я за вчера и сегодня набросал черновую реализацию этого алгоритма, благо он имеет много общего с генерацией полиномиальной поверхности, которая у меня уже была реализована.

Вот что получилось при параметрах: окно 7x7, порядок 4.
По моему весьма неплохо. На края изображения не смотреть, так как данная реазизация не трогает несколько пикселей по краям.

Исходники могу выложить хоть сейчас, но сразу предупреждаю что там черт ногу сломит. Да, он завязан на Qt, и использует пару функций из других частей СТ.
Автор: monday2000
Дата сообщения: 23.11.2008 16:44

Цитата:
Что это за параметр - буду думать.

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

Добавлено:
dma200899

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

Поправил.
Автор: monday2000
Дата сообщения: 23.11.2008 22:18
Только что выявил одну любопытную вещь о СК 5.91->Quality->Smooth.

Этот СК-шный Smooth даёт такой эффект, который абсолютно идентичен эффекту Corel Smooth 100% ! Идентичность именно абсолютная - пиксель в пиксель, разницу обнаружить ну никак не возможно - сколько ни переключайся быстро-попеременно с одного результата на другой в утроенном масштабе в ACDSee.

Эх, не был бы bolega таким "закрытым", раскололи бы мы сейчас этот Corel Smooth "до самой за...".

Я ещё раз покрутил-повертел "свой" B-Spline Smooth - пока ничего с ним не получается. Задача ставится очень просто: надо научиться регулировать степень его сглаживания - делать её больше-меньше - а сейчас эта степень сглаживания - фиксированная. Вроде бы можно этого добиться за счёт некоторого загрубления качества - если убрать условие "меньше 1" и подкручивать коэффициенты - но я не хочу терять качество.

Я вообще слабо ориентрируюсь в высшей математике. Оказывается, Б-сплайнов есть целое семейство разных подвидов: http://en.wikipedia.org/wiki/B-spline . Надо поискать среди них параметризованный Б-сплайн - чтобы с регулируемой степенью сглаживания. Наверное, здесь нам смог бы помочь iroln. Задача вроде бы не самая запредельная по сложности (бывает и покруче - "адаптивный Б-сплайн" - который только фон сглаживает, не трогая буквы).

Добавлено:
Теперь я уже практически уверен, что Corel Smooth построен именно на сплайне - и не на чём ни на другом. Только сплайны дают наивысшее возможное сглаживание.
Tulon

Цитата:
Исходники могу выложить хоть сейчас

Да ладно, это не к спеху. Как-нибудь при случае выложите, да и всё.

Добавлено:
Статьи о B-Spline на английском языке (3,65 MB)

http://www.djvu-soft.narod.ru/bookscanlib/bspline_pdf.rar

Надёргал в Гугле всяких научных обрывков (в PDF) по теме.
Автор: Tulon
Дата сообщения: 24.11.2008 14:50
Причесал и закоммитил в SVN свою реализацию фильтра Savitzky-Golay:
SavGolFilter.cpp
SavGolFilter.h
Автор: monday2000
Дата сообщения: 25.11.2008 08:32
Tulon

Цитата:
SavGolFilter.cpp
SavGolFilter.h

Пригодится в общую копилку.

Добавлено:
Tulon
В обработке сканов есть такая проблематика, как поворот скана на произвольный угол. Есть разные способы такого поворота - и задача состоит в том, чтобы найти такой алгоритм, который менее всего искажал бы буквы при повороте. Особенно актуальна эта проблема для BW-сканов.

В СканКромсаторе есть несколько алгоритмов поворота: http://www.djvu-soft.narod.ru/kromsator/#1.1.4 . Я никогда особо не задумывался над ними - что они такое есть и как они работают.

Проблематика поворота явно не так проста, как может показаться на первый взгляд. Здесь нужны поиски и эксперименты.
Автор: Tulon
Дата сообщения: 25.11.2008 11:42
У меня поворот делается методом area mapping. Вообще мой алгоритм умеет делать не только поворот, но и любую афинную трансформацию. Такой способ конечно ведет к потере четкости букв, но увуличение масштаба до 600 dpi это в значительной степени компенсирует.
Автор: monday2000
Дата сообщения: 25.11.2008 12:00
Tulon
Вот тут bolega кое-что пояснил об СК-шных алгоритмах поворота.

Мне известны только 2 принципальных способа поворота на произвольный угол:

1. Быстрый 3-сдвиговый поворот.

2. Традиционный "медленный" поворот - обратный пересчёт тригонометрических координат. При этом возможно сглаживание - (скорее всего) любое такое, как и при ресайзинге (Box, Bilinear, Mitchell and Netravali's Bicubic, Catmull-Rom, Lanczos3, Cubic B-Spline).

Сделаю некоторые гипотезы относительно СК-алгоритмов поворота:

1. Fast - в чистом виде п.2.
2. Antialias - п.2 + antialiasing (реализацию antialiasing вроде нетрудно найти).
3. Interpolate -
Цитата:
Это Fast с билинейной интерполяцией
- подтверждает гипотезу о Fast.
4. Shear - п.1
5.
Цитата:
Auto(Shear), который в зависимости от цветности скана сам выбирает нужный, наиболее оптимальный метод, т.е. Interpolate для серых-цветных, Shear c автокомпенсацией артефактов - для b/w.


ИМХО наиболее важно узнать:

1. Правильность гипотезы о Shear.
2. Почему Shear не подходит для серых-цветных.
Tulon

Цитата:
У меня поворот делается методом area mapping.

Опа. Просветите "на пальцах", что это.
Автор: Tulon
Дата сообщения: 25.11.2008 14:51
Shear - это совершенно точно поворот через сдвиги.

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

У этого алгоритма две проблемы:
1. В каноническом виде он очень медленный.
2. Если увеличивать масштаб вместе со вращением, то никакого антиалиазинга не получится.

Моя реализация решает обе эти проблемы за счет небольшого снижения качества.
За деталями - в исходники (imageproc/Transform.cpp).
Автор: monday2000
Дата сообщения: 25.11.2008 15:20
Tulon

Цитата:
Area mapping в теории работает примерно так:

Ага, ну понял. Это, в общем-то, частный случай
Цитата:
2. Традиционный "медленный" поворот
Автор: monday2000
Дата сообщения: 25.11.2008 21:14
Я сделал новую заметку:

20. Bicubic Rotate

http://www.djvu-soft.narod.ru/bookscanlib/020.htm
Автор: monday2000
Дата сообщения: 26.11.2008 20:40
Я сделал новую заметку:

21. Bilinear Rotate

http://www.djvu-soft.narod.ru/bookscanlib/021.htm

Добавлено:
Я сделал новую заметку:

22. Nearest Neighbor Rotate

http://www.djvu-soft.narod.ru/bookscanlib/022.htm
Автор: monday2000
Дата сообщения: 27.11.2008 08:57
http://dom-music.ucoz.ru/forum/17-4-1

Вот фото-редакторы к Linux

Цитата:
tuxpaint - Простая детская программа для рисования
koffice-krita - Paint application for bitmap images.
koffice-karbon - Vector graphics application
gimp - The GNU Image Manipulation Program
gimp-plugin-ace2 - Adaptive Contrast Enhancement plugin for Gimp
gimp-plugin-dcamnoise2 - Gimp plugin for removing noise introduced by digital cameras
gimp-plugin-fix-ca - Fix Chromatic Aberration Gimp Plug-In
gimp-plugin-gap - The GIMP Animation Package.
gimp-plugin-greycstoration - Image denoising and interpolation plugin for GIMP
gimp-plugin-gutenprint - GIMP-Print plugin for high-quality image printing
gimp-plugin-lqr - Liquid Rescale GIMP plugin
gimp-plugin-metadata - Gimp plugin to list image metadata
gimp-plugin-normalmap - Плагин для GIMP, позволяющий создавать карты нормалей
gimp-plugin-refocus-it - Gimp plugin to refocus images acquired by a defocused camera
gimp-plugin-resynthesizer - Gimp plug-in for manipulating textures
gimp-plugin-separateplus - Improved version of the CMYK Separation plug-in for The GIMP
gimp-plugin-thinline - Thin Line plug-in for The GIMP
gimp-plugin-ufraw - GIMP plugin for opening and converting RAW files from digital photo cameras (part of UFRaw project)
gimp-plugin-voronoi - The ultimate Gimp Voronoi pattern generator
gimp-plugin-wideangle - Gimp Wideangle Filter
gimp2-plugin-greystoration - Шумоподавляющий плагин для графического редактора GIMP
gimp2-plugin-siox - Плагин для GIMP, позволяющий интеллектуально выделять объекты.


Реестр GIMP-плагинов: http://registry.gimp.org/

ИМХО оттуда можно натаскать много вкусного.

Добавлено:
По б-сплайну:

http://www.codeproject.com/KB/cs/Bspline.aspx

http://dannyruijters.freewebhosting360.com/cubicinterpolation/

http://www.eol.ucar.edu/~granger/bspline/doc/
Автор: monday2000
Дата сообщения: 27.11.2008 13:47
Самые интересные:

Adaptive Contrast Enhancement http://registry.gimp.org/node/20

Refocus http://refocus.sourceforge.net/ (Обалдеть ! )

Wavelet denoise http://registry.gimp.org/node/4235

Wavelet decompose http://registry.gimp.org/node/11742

Wavelet sharpen http://registry.gimp.org/node/9836

Dcamnoise 2 http://home.arcor.de/peter.heckert/dcamnoise2-0.63.c

Liquid Rescale http://registry.gimp.org/node/144

Интересные:

JPEG 2000 http://registry.gimp.org/node/9899

Fourier Transformation http://registry.gimp.org/node/9847

gimp2-plugin-siox - Плагин для GIMP, позволяющий интеллектуально выделять объекты. http://www.siox.org/

Неинтересные:

Обычные:

Сorrect chromatic aberration http://kcd.sourceforge.net/fix-ca.php

Thin Line plug-in for GIMP http://sisyphus.ru/srpm/Sisyphus/gimp-plugin-thinline
http://sisyphus.ru/srpm/Sisyphus/gimp-plugin-thinline/sources

В виде скриптов:

ISO noise reduction (скрипт) http://registry.gimp.org/node/104

Smart Sharpen (Redux) (скрипт) http://registry.gimp.org/node/108

High Pass FIlter (скрипт) http://registry.gimp.org/node/7385

Separate Sharpen (скрипт) http://registry.gimp.org/node/105

Vrilehen Blur (скрипт) http://registry.gimp.org/node/10763

Advanced Tone Mapping (скрипт) http://registry.gimp.org/node/5980

Soft focus (скрипт) http://registry.gimp.org/node/5322

Focus Blur (скрипт) http://registry.gimp.org/node/1444

Shape it (скрипт) http://www.algonet.se/~claesg/shapeit.html http://registry.gimp.org/node/59

Sepia Toning (скрипт) http://registry.gimp.org/node/244

Добавлено:
Из всего этого некоторые алгоритмы представляют реальный интерес - а некоторые почти неинтересны. Некоторые реализованы в виде скриптов - такие ИМХО слишком сложны (т.е. скрипт обращается к куче готовых GIMP-алгоритмов).
Автор: monday2000
Дата сообщения: 27.11.2008 16:07
Вот чего я пока вообще нигде не увидел, так это исходников всевозможных хитрых бинаризаций. Ни в GIMP, ни в AForge.NET я ничего такого не нашёл (там простая бинаризация по порогу). Вот что есть в СК по этому поводу:

Цитата:
HighDark: В отличие от остальных, не является пороговым. Он адаптивный, порог высчитывает автоматически, исходя из энтропии изображения.
Smooth: Исключение. Применяется спец.алгоритм со сглаживанием (анализирует энтропию), никак не связанный с порогом конвертации в b/w. Может сглаживать, "округлять" (слегка ужирнять) буквы (в т.ч. очень бледные части букв) и даже увеличивать их связность (убирать разрывы в буквах).

Smooth очень хорошо работает на чрезвычайно блёклых сканах или сканах поганого качества (например, с очень низким dpi).
Недостаток - очень чувствителен к фону (шумам), поэтому если скан сильно грязный (с неравномерным фоном), то smooth вносит очень много мусора, который в итоге так сливается с текстом, так что никакой Despeckle потом не помогает, поэтому лучше использовать его совместно с Histogram Thresholding для подавления грязи (фон слегка забледняется с помощью Histogram, и поэтому не вносит мусора при конвертации).
Серые полутоновые рисунки при Smooth следует включать в Exclude region.
После Smooth текст слегка жирнеет.

Недавно кто-то писал где-то, что не смог добиться от СК нужного качества бинаризации - а в Book Restorer смог. Бинаризации - это очень интересная тема.

Добавлено:
Вот ещё интересная библиотека - VIGRA:

http://kogs-www.informatik.uni-hamburg.de/%7Ekoethe/vigra/

Но что-то внутренняя архитектура сложновата для понимания.

Добавлено:
Случайно наткнулся на описание алгоритмов OCRopus:

http://ocrocourse.iupr.com/

Довольно любопытно.

Добавлено:
Метод Оцу

http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9E%D1%86%D1%83

Добавлено:
Всё, до меня дошло. Оказывается, бинаризация по-буржуйски называется "thresholding" - а не "binarization". Вот упоминание о целой куче бинаризаций:

http://wiki.robojackets.org/w/Adaptive_Thresholding

А вот он оцу:

http://www.koders.com/c/fid6DA8F8C5DBC5631A8907FC36C38D822BCE552C8C.aspx?s=sort

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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