我已经开始了一个简单的项目,它必须获得包含上标文本的图像,然后使用OCR(目前我正在使用tesseract)它必须识别上标字符+正常字符。
为了更容易想象,例如,我们有一个化学方程式,如Cl2(2是上标),但当我使用ocr识别它时,它给了我Cl2(所有在一行)。
那么,这个问题的解决方案是什么?是否有其他OCR API能够读取上标?
感谢。
答案 0 :(得分:4)
非常好的问题涉及任何OCR系统的更高级功能。
首先,确保您不会忽略功能,即使它可能存在于OCR系统上。确保以普通TXT格式查看结果测试,但在某种具有文本功能的查看器中查看结果测试。 TXT查看器(例如Windows上的记事本)通常不支持上标/下标字符,因此即使OCR为您提供正确的字符,您的查看器也可以将其转换为显示它。如果您以编程方式访问文本结果,那么这不是一个问题,因为您应该在直接访问它时获得正确的下标字符值。请注意,观众必须支持它才能让您真正看到它。如果你消除了这种可能的后处理转换并确保没有从OCR返回下标,那么它可能不支持它。
就像在这个文本框中一样,在您的原始问题中,您试图给我们一个上标字符示例,但是即使您可以从其他地方复制/粘贴它,此文本框也不接受它。
许多OCR会将下标视为任何其他正常角色,如果他们可以看到它的话。您使用的OCR需要具备实际生成上标/下标的技术能力,其中许多都可以,但它们往往是商业OCR系统,并不奇怪。
在回答这封信之前,我做了一个小测试用例。我为我的测试生成了带有一些上标/下标示例的图像(当然EMC2是第一个想到的例子:)。
你可以在这里找到我的测试图像:
www.ocr-it.com/documents/superscript_subscript_test_page.tif
使用所有默认设置通过OCR-IT OCR Cloud 2.0 API处理此图片,但导出为富文本格式,例如MS Word .DOC。
您可以在此处找到我的测试图片: www.ocr-it.com/documents/superscript_subscript_test_page_result.doc
另请注意:如果您有兴趣提取上标/下标字符,请单独关注图像质量,而不是使用典型文本。这些角色很小,你需要足够的细节和分辨率才能达到下降的OCR质量。即使以300 dpi图像扫描,由于像素太少,有时也会出现微小字符问题。如果您正在考虑移动和数码相机,那就变得更加重要。
披露:我的专长是为不同规模的公司实施内部OCR解决方案。我的公司是WiseTREND。如果我可以进一步协助,请直接与我联系。