Gif動(dòng)圖驗(yàn)證碼識(shí)別
發(fā)布時(shí)間:2022-06-24 點(diǎn)擊數(shù):2602
識(shí)別流程:
流程說明:
1.Gif轉(zhuǎn)png,每一幀保存為png格式圖片 2.每張png圖片進(jìn)行單獨(dú)識(shí)別 3.統(tǒng)計(jì)每個(gè)對(duì)應(yīng)位置字符頻率,每個(gè)位置取最高頻率字符作為對(duì)應(yīng)位置字符識(shí)別結(jié)果 4.拼接指定長(zhǎng)度字符作為最終識(shí)別結(jié)果
抽幀模塊:
def gif_to_png(length,image):
'''
gif抽幀
:param length:
:param image:
:return:
'''
try:
yzm_list = []
for i in range(1, length):
image.seek(i)
stream = BytesIO()
image.save(stream, 'PNG')
s = stream.getvalue()
yzm_list.append(s)
return yzm_list
except Exception as e:
print(e)
return None
'''
gif抽幀
:param length:
:param image:
:return:
'''
try:
yzm_list = []
for i in range(1, length):
image.seek(i)
stream = BytesIO()
image.save(stream, 'PNG')
s = stream.getvalue()
yzm_list.append(s)
return yzm_list
except Exception as e:
print(e)
return None