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

用百度ocr+微信截图实现文字识别作用:将图片中的文字识别出来一、调用微信截图dll控件将微信截图插件复制到项目文件,使用ctypes加载(胶水语言就是给力)defcapture():try:dll=ctypes.cdll.LoadLibrary(‘PrScrn.dll’)exceptException:print(“Dllloaderror!”)…

大家好,又见面了,我是你们的朋友全栈君。

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

一、调用微信截图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")

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

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

转载于:https://blog.51cto.com/5353088/2119501

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136784.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • modelsim uvm(大数据开发环境搭建)

    1.下载modelsim软件下载modelsim,这里用的是modelsim10.4版本。下载地址:https://pan.baidu.com/s/1wnCwlQ2EblCkKHFOM6gEyw提取码:772l。完成下载和安装,在安装文件夹中可以看到uvm-1.1d,这是我们使用的uvm版本。在uvm-1.1d/win64下有uvm_dpi.dll文件,这是已经编译过的uvm库。…

    2022年4月13日
    173
  • matlab灰度最大值和最小值_matlab灰度直方图

    matlab灰度最大值和最小值_matlab灰度直方图这里有两个版本的泛洪填充算法:第一个,更简单的一个包含两个未定义的变量,但这是一个工作版本:importnumpyasnpimportscipyasspimportscipy.ndimagedefflood_fill(test_array,h_max=255):input_array=np.copy(test_array)el=sp.ndimage.generate_bin…

    2022年9月12日
    0
  • linux里chmod_linux常用的20个命令

    linux里chmod_linux常用的20个命令linux中chmod命令的使用方法发布时间:2020-06-2417:05:24来源:亿速云阅读:79作者:元一这篇文章运用简单易懂的例子给大家介绍linux中chmod命令的使用方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。chmod介绍:linux中可以使用命令chmod来为文件或目录赋予权限。Linux/Unix的档案存取权限分为三级:档案拥有者、群组、其…

    2022年10月20日
    0
  • 安卓浏览器横评_flash浏览器

    安卓浏览器横评_flash浏览器近日国外媒体AndroidAuthority就对全球使下载最大的11款手机浏览器进行了性能方面的横向评测,相信在看完后,你能够从中找到更适合自己的手机浏览器。(注:本测试主要针对浏览器性能,并不能说明浏览器的整体效果)一、测试设备、工具及浏览器介绍1、测试设备Nexus4,运行Android4.4.2系统。2、测试浏览器本次测试的浏览器总共11款,分别是:-百度浏览器3.1.0.2(国际…

    2022年10月23日
    0
  • 搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

    搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop转载自:https://www.imooc.com/article/17571网页可见区域高:document.body.clientHeight网页正文全文高:document.body.scrollHeight网页可见区域高(包括边线的高):document.body.offsetHeight网页被卷去的高:document.body.scrollTop屏幕分辨率高:window.screen…

    2022年7月24日
    11
  • centos7.0 web服务器搭建「建议收藏」

    centos7.0 web服务器搭建「建议收藏」centos7.0web服务器搭建前言按照先易后难排序,在vmware虚拟机环境下模拟,统一防火墙为Firewall,统一在xshell下操作终端实现搭建.(强烈建议新手安装选择带gui服务器这样终端操作可以复制,分析文件,熟系操作之后可以最小安装(如果没有桌面,用xshell连接操作终端比较方便),我就是进过这样的坑)关于搭建分为三步,第一步配置网络(非虚拟机…

    2022年5月28日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号