Я пытаюсь выполнить этот урок http://www.mathworks.com/help/vision/examples/automatically-detect-and-recognize-text-in-natural-images.html для обнаружения текста в изображении с использованием Matlab.Обнаружение текста в изображении с использованием MSER
В качестве первого шага учебник использует detectMSERFeatures
для обнаружения текстовых областей изображения. Однако, когда я использую этот шаг на своем изображении, текстовые области не обнаруживаются.
Вот фрагмент кода, я использую:
colorImage = imread('demo.png');
I = rgb2gray(colorImage);
% Detect MSER regions.
[mserRegions] = detectMSERFeatures(I, ...
'RegionAreaRange',[200 8000],'ThresholdDelta',4);
figure
imshow(I)
hold on
plot(mserRegions, 'showPixelList', true,'showEllipses',false)
title('MSER regions')
hold off
А вот исходное изображение
и вот изображение после первого шага
[[введите описание изображения здесь! ] [2]] [2]
Обновление
Я играл с параметрами, но никто, кажется, не обнаружил текстовую область. Есть ли лучший способ сделать это, чем настроить цифры? Тонкая настройка параметров не будет работать для широкого спектра изображений, которые у меня могут быть.
Некоторые параметры, которые я пробовал и их результаты:
[mserRegions] = detectMSERFeatures(I, ...
'RegionAreaRange',[30 100],'ThresholdDelta',12);
[mserRegions] = detectMSERFeatures(I, ...
'RegionAreaRange',[30 600],'ThresholdDelta',12);
Попробуйте уменьшить «MaxAreaVariation», так как ваш текст и фон имеют очень мало вариаций (уменьшают ложные срабатывания), уменьшая минимальное значение для «RegionAreaRange», поскольку маленькие символы могут быть меньше 200 пикселей (увеличивать истинные положительные значения) и увеличивать «ThresholdDelta», поскольку вы знаете, что существует резкий контраст между текстом и фоном (уменьшите ложные срабатывания). – kmac
@kmac, вы должны ответить на этот вопрос. – Dima
Я не тестировал его вообще ... Наверное, я могу, если он действительно работает. :) – kmac