python截图识别文字_用百度ocr+微信截图实现文字识别

本文介绍如何使用Python调用微信截图DLL控件获取图片,然后通过编写自定义的百度OCR类进行文字识别。通过PIL库保存微信截图,并调用百度API将图片转为文字,最后展示识别效果,表明识别率较高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作用:将图片中的文字识别出来

一、调用微信截图dll控件

将微信截图插件复制到项目文件,使用ctypes加载(胶水语言就是给力)

def capture():

try:

dll = ctypes.cdll.LoadLibrary('PrScrn.dll')

except Exception:

print("Dll load error!")

return

else:

try:

dll.PrScrn(0)

except Exception:

print("Sth wrong in capture!")

return

二、编写自己的百度ocr类,参考百度文档

class BaiduApi(object):

def __init__(self, filePath):

""""初始化加载账户信息 """

super(BaiduApi, self).__init__()

conf = ConfigParser()

conf.read(filePath)

app_id = conf.get("user_info", "appid")

app_key = conf.get("user_info", "app_key")

secrity_key = conf.get("user_info", "secrity_key")

self.client = AipOcr(app_id, app_key, secrity_key)

""" 读取图片 """

@staticmethod

def get_file_content(filePath):

with open(filePath, 'rb') as fp:

return fp.read()

def imagetotext(self, filePath):

image = self.get_file_content(filePath)

self.texts = self.client.basicGeneral(image)

ret = ""

for words in self.texts["words_result"]:

ret = ret + "".join(words.get("words", ""))

print(ret)

三、利用PIL将微信截图保存到临时目录

注:原本想直接调用api做ocr识别,却提示类型错误 baidu_info.ini为自己的appid信息

ImageGrab.grabclipboard() 获取剪切板上的图片并保存到目录

a = BaiduApi("./baidu_info.ini")

capture()

img = ImageGrab.grabclipboard()

img.save("./123.png")

a.imagetotext("./123.png")

四、效果展示(识别率还是很让人满意滴)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值