Jayson

老牛亦解韶光贵,不等扬鞭自奋蹄。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在Tesseract处理背景渐变图片不太理想的情况下, 可以利用Pillow库, 创建一个阈值过滤器来去掉渐变的背景色, 只把文字留下来, 从而让图片更清晰, 便于Tesseract读取:

 1 from PIL import Image
 2 import subprocess
 3 
 4 def cleanFile(filePath, newFilePath):
 5     image = Image.open(filePath)
 6 
 7     # 对图片进行阈值过滤, 然后保存
 8     image = image.point(lambda x: 0 if x<143 else 255)
 9     image.save(newFilePath)
10 
11     # 调用系统的tesseract命令对图片进行ocr识别
12     # subprocess.call(["tesseract", newFilePath, "output"])  //报错:文件找不到
13     subprocess.call(["C:/Program Files (x86)/Tesseract-OCR/tesseract", newFilePath, "output"])
14 
15     # 打开文件读取结果
16     outputFile = open("output.txt", 'r')
17     print(outputFile.read())
18     outputFile.close()
19 
20 cleanFile("text_2.png", "text_2_clean.png")

以下两张图片分别为text_2.png和text_2_clean.png

posted on 2017-08-13 00:06  jaysoncho  阅读(1102)  评论(0编辑  收藏  举报