【发布时间】:2023-02-10 01:32:54
【问题描述】:
背景资料:
我目前正在开发一个屏幕截图工具,它在 sn-p 上执行 OCR 以将文本复制到剪贴板。
虽然它在大多数情况下都运行良好,但它在小范围选择时会出现问题。
为了确保 OCR 正常工作,我将 sn-ps 缩放为具有 640 像素的最小宽度或 480 像素的最小高度,并相应地缩放分辨率和大小。
tesseract OCR 引擎在识别小选区上的文本时存在问题。
我怀疑如果文本没有居中或周围有足够的白色或黑色以使其从背景中正确脱颖而出,则图像需要填充。
问题:
在对图像执行 OCR 之前,我如何识别图像中填充的需要?
当前的预处理步骤:
对于预处理,我正在调整大小(如果需要)并将 24bppRGB 图像转换为 8bppIndexed 灰度图像。
然后我创建一个直方图,计算全局阈值并对其应用二值化。
例子:
【问题讨论】:
-
大概您应该在 Tesseract github 页面上询问,因为这对于所用算法的实习生来说似乎非常具体。我没有受过教育的答案是,如果你有特定的输入效果不佳,那么用它作为训练数据来训练 Tesseract 引擎以获得更好的结果。
标签: c# image-processing ocr