Преобразование круглой текстовой области в прямоугольную область для процесса распознавания текста — переполнение стека OpenCV

Я хочу преобразовать круговую текстовую область в прямоугольную текстовую область для процесса распознавания. Я использовал функцию 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);

Я хочу извлечь текстовую область всегда одним куском. Как я могу решить эту проблему?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]