Проблема с обнаружением краев при обнаружении текста на изображениях

Я пытаюсь im p lement Статья Эпштейна ( Обнаружение текста в естественных сценах с преобразованием ширины штриха (2010) ) об обнаружении текста в естественных изображениях. Первый шаг - обнаружение краев.

Внутри текста появляются лишние края. Как их удалить?

Исходное изображение:

enter image description here Мое обнаружение краев: enter image description here

В этом примере вы можете видеть лишние края в тексте 'ПОЧЕМУ СПЕШИТЕ'

Я пробовал эти шаги в 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 (см. Статью Эпштейна).

Ширина обводки хорошо работает с символами вроде 'H''Y' даже для 'S', потому что соответствующие края обычно находятся на постоянном расстоянии, если мы продолжаем движение в направлении градиента.

Задача обозначается символами типа "W". Для одной части левого края 1-го хода вверх мы получаем правый край 2-го подъема в качестве его соответствующего края. В то время как для другой части мы получаем правый край 1-го хода вверх . Это приводит к значительному разбросу ширины штриха в области буквы W, что в соответствии с бумагой приводит к тому, что это называется нетекстовой областью.

Кто-нибудь может предложить какое-нибудь решение?

12
задан Community 23 May 2017 в 12:09
поделиться