tesseract 提升识别质量

1.图像处理

tesseract内置了一些图像处理方法(基于leptonica library)。
如果我们想要观察tesseract如何处理图片可以将tessedit_write_images变量设置为true。

改变尺度

tesseract默认dpi是300,最好把图片的dpi设置为300

二值化

将图片二值化,tesseract虽然内置了改方法,但是可能结果并不理想,所以最好在ocr之前先进行二值化。使用pillow。

二值化的作用是去掉噪声,比如黑点或者颜色。
在这里插入图片描述

在这里插入图片描述

旋转/抗扭斜

将倾斜的文章旋转称垂直。
在这里插入图片描述

除边界

在这里插入图片描述

2.页面分割方法

默认的tesseract将一个图片当成一个文档来看。如果只需要指定的区域可以使用不同的分割模式,使用psm参数。

  0    Orientation and script detection (OSD) only.
  1    Automatic page segmentation with OSD.
  2    Automatic page segmentation, but no OSD, or OCR.
  3    Fully automatic page segmentation, but no OSD. (Default)
  4    Assume a single column of text of variable sizes.
  5    Assume a single uniform block of vertically aligned text.
  6    Assume a single uniform block of text.
  7    Treat the image as a single text line.
  8    Treat the image as a single word.
  9    Treat the image as a single word in a circle.
 10    Treat the image as a single character.
 11    Sparse text. Find as much text as possible in no particular order.
 12    Sparse text with OSD.
 13    Raw line. Treat the image as a single text line,
			bypassing hacks that are Tesseract-specific.

3.词典,单词列表和模式

默认的tesseract尽可能识别普通的句子。如果想要识别
收入,价格或者代码等则需要以下步骤
1.选择合适的分割方法。
参考:
https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality#page-segmentation-method

2.禁用字典。如果我们需要识别的字符大多不是字典单词。通过将load_system_dawgload_freq_dawg设置为false
参考:
https://github.com/tesseract-ocr/tesseract/wiki/ControlParams
3.将词语店家到词语列表,将提升Tesseract的识别准确率,或者添加字符模式。参考
https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.asc#config-files-and-augmenting-with-user-data
4.如果只想识别语料库中的一部分字符,比如只需要识别数字,则可以设置tessedit_char_whitelist参数。
参考:
https://github.com/tesseract-ocr/tesseract/wiki/ControlParams

参考文献:
https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality
https://blog.csdn.net/hechaojie_com/article/details/81560153

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要提高Tesseract OCR的识别率,可以尝试以下几种方法: 1. 使用更高质量的图像:Tesseract OCR对图像质量要求较高,因此使用更高分辨率、更清晰的图像可以提高识别率。 2. 优化图像预处理:在进行OCR之前,可以对图像进行预处理,如去除噪声、平滑图像等,以提高识别率。 3. 调整识别参数:Tesseract OCR有许多可调参数,如语言模型、字符集、字体等,可以根据实际情况进行调整,以提高识别率。 4. 增加训练数据:Tesseract OCR可以通过增加训练数据来提高识别率,可以使用已有的数据集或自己收集数据进行训练。 5. 使用其他OCR引擎:如果Tesseract OCR无法满足需求,可以尝试其他OCR引擎,如ABBYY FineReader、Adobe Acrobat OCR等。 ### 回答2: Tesseract OCR是一款开源的OCR引擎,在OCR识别中应用非常广泛。但是,它的识别率并不总是最优的,因此需要一些技巧来提高它的识别率。以下是一些技巧: 1. 图像预处理:在使用Tesseract OCR进行识别之前,可以先对图像进行一些预处理,例如旋转、去噪等。这样可以提高图像的质量,从而提高识别率。 2. 字符集:Tesseract OCR支持多种语言和字符集,因此在进行识别时应选择正确的语言和字符集。如果选择了错误的语言和字符集,识别率可能会很低。 3. 字符大小和字体:字体大小和字体类型对于识别率也有很大影响。为了获得更好的识别率,可以尝试使用不同的字体和大小进行识别测试,并选择最适合的字体和大小。 4. 训练模型:如果Tesseract OCR不能很好地识别特定的字体或语言,可以使用训练模型来提高识别率。训练模型需要使用一些训练图像和识别结果,以便Tesseract可以学习如何更好地识别这些字符。 5. 字典和术语表:如果OCR识别所需的术语和单词比较特殊,可以创建自定义的字典和术语表。这样Tesseract就可以更好地识别这些词汇,从而提高识别率。 总之,为了提高Tesseract OCR的识别率,需要进行一系列的技巧和处理。在实际应用中,需要根据不同的需求选择合适的技巧和方法,以获得最佳的识别效果。 ### 回答3: Tesseract OCR是一款开源OCR引擎,是Google公司从HP公司中收购的OCR技术,并基于该技术开发而来的。Tesseract OCR在业内有着较高的声誉,并被广泛应用于文本识别及数字化处理领域。尽管Tesseract OCR在识别中文等复杂语言上的表现不及商业OCR引擎,但在英文和数字的识别上表现出色。如何提高Tesseract OCR的识别率,应该采取以下措施: 1. 提高图像清晰度:Tesseract OCR对图像的清晰度要求高,图像清晰度低会导致识别率下降。因此,要提高图像清晰度,可以通过更改扫描分辨率、扫描参数和摄像机设置等来实现。 2. 优化预处理:识别前需要对原图进行预处理操作,包括二值化、去除干扰线条等。通过工具软件可以获得更好的预处理效果。 3. 选择合适的训练集:可以根据识别的对象,在训练集中选择合适的字体、字型等。同时,也可以对需要识别的对象进行标注,让Tesseract OCR知道这些文字,从而提高识别率。 4. 优化识别参数:可以通过更改Tesseract OCR的参数来提高识别率。这些参数包括识别文本的最小高度、间距、字母的最小数量等。 5. 引入语言模型:Tesseract OCR的识别率可以通过引入语言模型来提高,这可以让识别文字更加准确。可以使用语言模型训练工具,制作专业的语言模型。 综上所述,提高Tesseract OCR的识别率需要从多个方面入手。只有通过科学的算法和有效的技术手段,才能够提高Tesseract OCR的识别效果,实现更加准确和高效的 OCR 识别

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值