请教一个 OCR 的问题,

色郎中 2017-04-17 11:00:48

# -*- encoding: utf-8 -*-
# 导入pillow
from PIL import Image

# 加载原始图片
#img = Image.open("29.jpg").convert('L')
img = Image.open("29.jpg")
# 从左上角开始 剪切 200*200的图片
img2 = img.crop((3, 3, 68, 22))
img2.save("lena2.jpg")
# 识别图片中的字符

from PIL import Image
import pyocr.builders
# pyocr支持两种OCR库,由于我只安装了tesseract,只会获得tesseract
tool = pyocr.get_available_tools()[0]

# 选择要使用的语言,使用print tool.get_available_languages()列表
lang = tool.get_available_languages()[0]

# 用来保存图像和对应的文字
req_image = []
final_text = []
# 为每个图像运行OCR,识别图像中的文本
#for img in range(1):
txt = tool.image_to_string(
#Image.open(r"E:\2017\ocr\29.jpg"),
img2,
lang=lang,
builder=pyocr.builders.TextBuilder()
)
final_text.append(txt)
print final_text[0]


代码网上找了两段,,合到一起了; 一个纯英文的图片,然后截取一块区域的,并识别小区域内的字符出来

大图

截取出来的小图

识别结果:

Tesseracl

Process finished with exit code 0


最后一个应该"t",,但是识别成了“l”了,,对大图片进行识别的话,基本也是小写“t” 总会和前面一个字符要么粘成一个,要么就是识别错了,什么原因导致? 有做过这方面的吗,遇到过类似情况的话,增么解决?
对图片,做了灰度处理,和不做灰度处理,没有明显效果,,除了文件变小了

...全文
121 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
色郎中 2017-04-18
  • 打赏
  • 举报
回复
从新训练了样本 还行

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧