导 读
本文主要介绍一个通过图像处理改善OCR识别结果的实例,并给出详细步骤和源码。
背景介绍
在很多情况下,文字识别会遇到困难。比如非单一的背景、杂讯干扰、文字部分缺失等。如下图所示:
我们希望识别图中的黑色文字(12-14),但背景较复杂且存在其他干扰,如果直接用Tesseract识别(代码如下),识别结果为空。
# -*- coding:utf-8 -*-
import pytesseract
from PIL import Image
# 打开图像
image = Image.open('0.png')
# OCR识别:lang默认英文
text = pytesseract.image_to_string(image)
# 打印识别后的文本
print(text)
对这种复杂情况的文字识别,直接去识别很容易失败。思考:可不可以通过图像处理将我们需要的部分分割或凸显出来再做识别?本文将以此为例做演示说明。
详细实现步骤
【1】OTSU二值化
image = cv2.imread('0.png')