Я пытаюсь им p lement Бумага Эпштейна ( Обнаружение текста в естественных сценах с преобразованием ширины штриха (2010) ) на обнаружение текста в естественных изображениях.Первый шаг - это обнаружение краев.
Я получаю несколько дополнительных ребер внутри моего текста.Как мне удалить их?
Исходное изображение:
Обнаружение моего края:
В этом примере вы можете увидеть дополнительные края в text 'ПОЧЕМУ СПАСИБО'
Я пробовал эти шаги в Matlab:
% contrast enhancement
I_adjust = imadjust(I);
% dilation & erosion
se = strel(ones(3,3));
I_dilate = imdilate(I_adjust, se);
I_final = imerode(I_dilate, se);
% gaussian smoothing
h_mask = fspecial('gaussian');
I_final = imfilter(I_final,h_mask);
figure; imshow(I_final);
BW_canny = edge(I_final,'canny');
figure; imshow(BW_canny);
Задача № 2:
Согласно предложению Велисария, я обнаружил, что фильтр среднего сдвига работает довольно хорошо для сегментации текстовой области.Теперь я столкнулся с другой проблемой в реализации преобразования Stroke Width (посмотрите на статью Эпштейна).
Stroke Width хорошо работает с символами типа 'H''Y' даже для 'S'потому что соответствующие ребра обычно находятся на постоянном расстоянии, если мы движемся в направлении градиента.
Проблема заключается в символах типа 'W'.Для одной части левого края 1-го хода мы получим правый край 2-го хода в качестве соответствующего края.В то время как для другой части мы получаем правый край 1-го хода .Это приводит к значительному расхождению в ширине штриха области 'W', что приводит к обозначению этой области как нетекстовой области согласно статье.
Может кто-нибудь предложить какое-либо решение?