将圆形文本区域转换为OCR进程的矩形区域 - OpenCV C ++

时间:2018-06-09 11:06:11

标签: c++ opencv ocr text-alignment

我想将圆形文本区域转换为矩形文本区域以进行OCR处理。我使用了opencv的logpolar()函数。有时候它会产生很好的效果,但有时根据圆圈上的文本区域位置,文本会分成两部分。 OCR过程运行良好(使用Tesseract + OpenCV)。但我的文本区域不在固定位置,文本总是用10位数创建。我需要在所有可能的状态下工作的解决方案。 问题解释:

problem explanation

我根据this post编写了我的代码。 首先,我选择ROI然后处理此ROI(稍后我将编写固定roi选择的代码)。我使用跟踪栏尝试了所有可能的参数值。但结果并不好

请参阅我的代码和其他结果。

结果很好,我总是想得到这样的东西:

gd

结果不好:

bd

结果不好:

bd

我的代码;

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);

我想提取文本区域总是一块。我该如何解决这个问题?

0 个答案:

没有答案