图片识别1

# -*- coding: UTF-8 -*-
# 导入打开图片的库
from PIL import Image
# 导入识别图片的库
from pytesseract import *
import PIL.ImageOps


def initTable(threshold=200):
    table = []
    for i in range(256):
        if i < threshold:
            table.append(0)
        else:
            table.append(1)
    return table

# 打开图片
im = Image.open('1.gif')
#图片的处理过程 从颜色图像转为黑白图像, PLG 使用 PIL库使用ITU-R601-2 luma转换公式:
# L = R * 299/1000 + G * 587/1000 + B * 114/1000

im = im.convert('L')
# 当转换为2位图像(模式“1”)时,源图像首先被转换为黑白图像。结果数据中大于127的值被设置为白色,
# 其他的设置为黑色;这样图像会出现抖动。如果要使用其他阈值,更改阈值127,可以使用方法point()。
# 为了去掉图像抖动现象,可以使用dither选项。
# 改变图像的阈值,为了更好的识别图片里面的内容
binaryImage = im.point(initTable(), '1')
# 修改完阈值的设置为L模式 也就是转化为黑白图像
im1 = binaryImage.convert('L')
# 对图像进行校准
im2 = PIL.ImageOps.invert(im1)
# 校准完了以后设置为模式1
im3 = im2.convert('1')
# 继续设置为黑吧图像
im4 = im3.convert('L')


#将图片中字符裁剪保留
box = (15,0,85,28)
# 设置图片的大小
region = im4.crop(box)

#将图片字符放大
out = region.resize((120,38))
# 讲图片识别出来
asd = pytesseract.image_to_string(out)
print asd
print (out.show())


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值