Я хочу преобразовать круговую текстовую область в прямоугольную текстовую область для процесса распознавания. Я использовал функцию logpolar () opencv. Иногда это дает хорошие результаты, но иногда текст кажется разделенным на две части в соответствии с положением текстовой области на круге. Процесс распознавания текста работает хорошо (с Tesseract + OpenCV). Но моя текстовая область не в фиксированной позиции и текст всегда создается из 10 цифр. Мне нужно решение, которое работает во всех возможных состояниях.
объяснение проблемы:
Я написал свой код в соответствии с эта почта.
Сначала я выбрал ROI, затем обработал этот ROI (позже я напишу код для фиксированного выбора ROI). Я перепробовал все возможные значения параметров с помощью трекбаров. Но результаты не хорошие
Пожалуйста, смотрите мой код и другие результаты.
Хороший результат, я всегда хочу получить что-то вроде этого:
Плохой результат:
Плохой результат:
Мой код;
int radius = 80;
int dr = 95;
logPolar(imcrop, polarr, Point2f(radius + dr, radius + dr), 30, WARP_FILL_OUTLIERS);
cv::rotate(polarr, finall, ROTATE_90_COUNTERCLOCKWISE);
resize(finall, finall, Size(640, 480));
threshold(finall, thresholded, 250, 255, THRESH_BINARY + THRESH_OTSU);
Я хочу извлечь текстовую область всегда одним куском. Как я могу решить эту проблему?
Задача ещё не решена.
Других решений пока нет …