бинаризация изображения документа [закрыто]

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

http://spie.org/Images/Graphics/Newsroom/Imported/0681/0681_fig1.jpg

Любые предложения будут высоко оценены.

 NeedHelp30 мар. 2012 г., 23:35
спасибо за вашу помощь @BirgitP. Я пытаюсь применить несколько алгоритмов, а затем использовать их на изображениях документов, к которым я искусственно добавляю шум, чтобы я мог оценить, какой метод лучше всего сравнивать с исходным изображением. Вот почему я спрашиваю, какие другие методы лучше всего подходят для этой цели. Не могли бы вы предложить некоторые ??
 Birgit P.30 мар. 2012 г., 15:54
Опять Ниблак сработает. (imgur.com/pR1iN Вам не нужно реализовывать сотни алгоритмов - достаточно понять, как они работают вместе и как адаптировать параметры. В вашем случае, вы должны посмотреть на локальный порог и, возможно, выполнить некоторую предварительную обработку в отношении цвета и контраста.
 Simon Bergot30 мар. 2012 г., 14:03
добро пожаловать в стек переполнения. Хотя бинаризация изображений - интересная тема, ваш вопрос не очень подходит для SO. Если у вас есть особая проблема с бинаризацией, вы можете задать вопросdsp.stackexchange.com, Если у вас есть проблема с реализацией бинаризации, не стесняйтесь задавать другой вопрос по SO.

Ответы на вопрос(1)

Решение Вопроса

чтобы начать с простой адаптации порога в зависимости от местных условий?

im = rgb2gray(im);
im = im2double(im);
f_makebw = @(I) im2bw(I.data, double(median(I.data(:)))/1.45);
bw = ~blockproc(im, [128 128], f_makebw);

Результат:

 NeedHelp02 апр. 2012 г., 19:57
не могли бы вы объяснить, что делает это утверждение? f_makebw = @ (I) im2bw (I.data, double (медиана (I.data (:))) / 1.45);
 NeedHelp03 апр. 2012 г., 22:08
Я получаю сообщение об ошибке из-за того, что ~ blocproc говорит, что это неопределенная функция. Не могли бы вы сказать мне, как это исправить,
 Maurits03 апр. 2012 г., 22:28
В моем примереblockproc вызывает анонимную функциюmakebw который определяется правилом выше. Скорее всего, у вас есть опечатка где-то.
 Maurits02 апр. 2012 г., 20:41
@NeedHelp, он бинаризует каждую область (здесь 128x128) на основе среднего значения шкалы яркости в этой области. Кроме того, порог слегка смещен из-за деления на 1,45.

Ваш ответ на вопрос