c++ - 进行 OCR 之前的预处理(tesseract、OpenCV)

标签 c++ opencv image-processing ocr tesseract

为了使用 OCR 库 tesseract 获得更好的结果,我会进行一些预处理,但不知道哪些步骤可以帮助我。

enter image description here enter image description here

我尝试使用因子 15 调整图像大小并应用调整后的阈值(参见图像),但这会产生“波浪”字符,而 tesseract OCR 库无法检测到该字符。在底部,您可以找到我通过 Dropbox 链接到图像的链接。原图尺寸为115x18px,字符高度为10px。

我想从背景中提取字符。哪些步骤可以带来更好的结果?对于 OCR 部分,我应该使用另一个 OCR 库而不是 tesseract 吗?在使用 tesseract 进行文本检测时,您总体上有哪些经验?或者您可以选择另一个库或商业库吗?

Dropbox Link to example image

更新 19.6.15:

Original Image OTSU Thresholded image

OTSU 阈值作为自适应阈值可提供更好的结果。将在接下来的几天内更新其他答案!

更新 2015 年 7 月 1 日 还有另一个示例图像,其中应该使用超正方体来识别序列号。由于字体太小,识别效果不是很好。有什么想法可以提供帮助吗?

Another example image

最佳答案

大津阈值在这里给了我更好的结果。结合距离变换和另一个阈值,我什至得到了几乎可以被tesseract识别的东西。

enter image description here

这是我得到的结果:

6ANFK9PC)100'0-GT

关于c++ - 进行 OCR 之前的预处理(tesseract、OpenCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29533664/

相关文章:

c++ - C++ 中的跨平台二进制文件

c++ - 如何在 OpenCV 中进行逆向 DFT

objective-c - 我该如何解决 'Semantic Issue'

opencv - 如何使用opencv平滑/模糊2张相似的图像

css - 使 Angular 应用程序中的背景图像加载速度更快

ios - 如何在 ios 中的 uiimage 上应用滤镜以去除阴影和灯光?

c++ - 函数参数 "not declared in this scope"。参数在h文件中可见

c++ - 模板类的静态模板字段?

matlab - 将 yuv 序列转换为 bmp 图像

c++ - 警告 : section "__textcoal_nt" is deprecate since updating to Mac OSX Sierra