本文主要是介绍数字校验码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用的是Ddddocr库。这个库的使用非常的便捷,可以通过下面命令进行安装:
pip install ddddocr
参数说明:
import ddddocr
ocr = ddddocr.DdddOcr()
with open(‘6.jpg’, ‘rb’) as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
成功的将式子识别了出来。然后我们就可以根据式子来进行算数了,代码如下:
if ‘+’ in res:
zhi = int(res.split(‘+’)[0])+int(res.split(‘+’)[1][:-1])
print(zhi)
if ‘-’ in res:
zhi = int(res.split(‘+’)[0])-int(res.split(‘+’)[1][:-1])
print(zhi)
if ‘*’ in res:
zhi = int(res.split(‘+’)[0])*int(res.split(‘+’)[1][:-1])
print(zhi)
if ‘/’ in res:
zhi = int(res.split(‘+’)[0])/int(res.split(‘+’)[1][:-1])
print(zhi)
结果成功的计算了出来。
如何制作数字验证码:
from PIL import Image,ImageDraw,ImageFont
import random
def getRandomColor():
#获取一个随机的rgb格式颜色
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
return (r,g,b)
def getRandomStr():
#获取一个随机字符串,其中每个字符也是随机的
num_random = str(random.randint(1,50))
return num_random
text =‘’
for i in range(3):
if i != 1:
k = getRandomStr()+’ ’
else:
k = random.choice([‘+’,‘-’,‘*’,‘/’])+’ ’
text += k
text = text+’ = ’
#获取一个Image对象,参数分别是:RGB格式,宽120,高40,随机颜色
image = Image.new(‘RGB’,(160,40),(255,255,255))
#获取一个画笔对象,将图片对象传过去
draw = ImageDraw.Draw(image)
#获取一个font字体对象,参数是ttf的字体文件的目录,以及字体的大小
font = ImageFont.truetype(r’K:\msyh.ttc’,size=24)
#在图片上写东西,参数是定位、字符串、颜色和字体
draw.text((10,10),text,getRandomColor(),font=font)
image.save(‘6.jpg’)
这篇关于数字校验码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!