Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将用于OCR处理的圆形文本区域转换为矩形区域-OpenCV C++;_C++_Opencv_Ocr_Text Alignment - Fatal编程技术网

C++ 将用于OCR处理的圆形文本区域转换为矩形区域-OpenCV C++;

C++ 将用于OCR处理的圆形文本区域转换为矩形区域-OpenCV C++;,c++,opencv,ocr,text-alignment,C++,Opencv,Ocr,Text Alignment,我想将圆形文本区域转换为矩形文本区域,以便进行OCR处理。我使用了opencv的logpolar()函数。有时它会给出很好的结果,但有时文本似乎会根据文本区域在圆上的位置分成两部分。OCR过程运行良好(使用Tesseract+OpenCV)。但我的文本区域不在固定位置,文本总是以10位数字创建。我需要的解决方案是在所有可能的状态下工作。 问题说明: 我根据自己的想法编写代码。 首先我选择了ROI,然后处理这个ROI(稍后我将为固定ROI选择编写代码)。我使用轨迹栏尝试了所有可能的参数值。但结果

我想将圆形文本区域转换为矩形文本区域,以便进行OCR处理。我使用了opencv的logpolar()函数。有时它会给出很好的结果,但有时文本似乎会根据文本区域在圆上的位置分成两部分。OCR过程运行良好(使用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查找暗区。2将图像向左移动你在黑暗区域找到的像素量。如果不明显:你在角度函数中碰到了一个分支。