Yhen手把手带你使用百度智能云②----文字识别

声明:
以下内容为本人原创,仅供用于参考学习
禁止用于商业及违法用途

·作者:@Yhen
·原文网站:CSDN

·原文链接:https://blog.csdn.net/Yhen1/article/details/109412552
转载请说明此出处,侵权必究!谢谢合作!

2021.09.22更新
好消息好消息!我发现百度智能云现在可以免费体验云服务器啦
领取流程可以参考这篇文章哦
「云服务器」白嫖3个月百度智能云4M60G云服务器


在上一篇文章
《Yhen手把手带你使用百度智能云①----项目的创建》中我介绍到了如何在百度AI开放平台中创建一个项目来使用百度智能云提供给我们的接口
url:https://blog.csdn.net/Yhen1/article/details/109409575

而这篇文章我将介绍如何使用百度智能云的接口来进行文字识别

一.功能概述

首先进入百度文字识别官网
url :https://ai.baidu.com/tech/ocr/general
点击立即使用
在这里插入图片描述
登录成功后
下拉找到可用服务列表
在这里插入图片描述
这里面涵盖了所有百度提供给我们的文字识别接口以及每个接口的可调用量

包括以下功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到 功能是十分齐全和丰富的
而且非常良心的是 这些接口只要在不超过限额的情况下 都是可以免费使用的

而提供的限额已经完全可以满足我们的日常需要

ok,了解到了它功能之丰富
下面就来看看如何使用它们

二.使用教程

下面的篇幅我将对以下热门接口进行演示以及对比分析
①通用文字识别
②高精度文字识别
③文字识别(含位置版)
④网络文字识别
⑤身份证文字识别
⑥车牌识别
⑦银行卡文字识别

1.通用文字识别

首先在导航栏中点击“管理应用”
在这里插入图片描述
找到创建的项目的APP ID,API Key和Secret Key(点击显示即会显示)
并且记录下来
在这里插入图片描述

然后回到导航栏
点击“技术文档”
在这里插入图片描述

然后依次点击
“SDK文档”—>“Python语言”—>“快速入门”
在这里插入图片描述
然后按照文档的提示操作

在这里插入图片描述
①首先按照baidu-aip 在终端输入pip install baidu-aip 即可
②将下面的代码复制下来,并将刚刚记录下来的APP ID,API Key和Secret Key 填入代码中

from aip import AipOcr

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

然后回到技术文档中
点击接口说明
在这里插入图片描述
找到通用文字识别
并将下面的代码复制
在这里插入图片描述

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用通用文字识别, 图片参数为本地图片 """
client.basicGeneral(image);

""" 如果有可选参数 """
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"

""" 带参数调用通用文字识别, 图片参数为本地图片 """
client.basicGeneral(image, options)

url = "https//www.x.com/sample.jpg"

""" 调用通用文字识别, 图片参数为远程url图片 """
client.basicGeneralUrl(url);

""" 如果有可选参数 """
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"

""" 带参数调用通用文字识别, 图片参数为远程url图片 """
client.basicGeneralUrl(url, options)

上面的代码太多,可能看的有点懵
其实很参数默认即可,我将它简化一下

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用通用文字识别, 图片参数为本地图片 """
client.basicGeneral(image)

url = "https//www.x.com/sample.jpg"
""" 调用通用文字识别, 图片参数为远程url图片 """
client.basicGeneralUrl(url)

我在原有的代码中添加了While True循环增加了可用性
完整代码

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径(输入"q"后按回车键即可退出):')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)

        """ 调用通用文字识别, 图片参数为本地图片 """

        # 通用版
        word=client.basicGeneral(image)
       

我以下面这一张图为例演示以下这段代码
在这里插入图片描述
识别结果:
在这里插入图片描述
返回给我们的是一个字典,里面包含了识别出来的文字结果和一些其他的数据

官方文档中也给我们提供了返回数据的说明
在这里插入图片描述
但是我们一般只需要知道识别出来的结果即可
所以我循环遍历将识别的文字结果取出

# 通用版
        word=client.basicGeneral(image)

        str =word['words_result']
        for x in  str:
            print(x['words'])

程序运行的结果如下:
在这里插入图片描述
可以看到
大部分的文字都是可以识别出来的
但是对英文的识别似乎不是很灵敏 有的单词就缺少了字母

于是我又找了一张英文图片
在这里插入图片描述

识别结果:
在这里插入图片描述
也是可以识别出大部分单词的
但是看起来似乎还是有点别扭
有些单词的大写并没有识别出来

接下来看看高精度文字识别的表现

2.高精度文字识别

实现高精度文字识别也很简单
只需要修改通用文字识别的一条代码即可

在这里插入图片描述
将“client.basicGeneral(image)”修改成client.basicAccurate(image)

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径:(输入"q"后按回车键即可退出)')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)

        """ 调用通用文字识别, 图片参数为本地图片 """

        # 高精度版
        word=client.basicAccurate(image)

        str =word['words_result']
        for x in  str:
            print(x['words'])

我再次识别这张文字图片
在这里插入图片描述
识别结果:
在这里插入图片描述
很明显这次的识别结果要比通用文字识别要好得多
完美的把所有的文字都识别了出来

这次我换了一张文字较多的图片进行测试
在这里插入图片描述
识别结果:
在这里插入图片描述
也是可以完全识别出来的

再来测试一下英文页面
在这里插入图片描述
识别出来的结果也要比通用版的要好的多
看来高精度版果然不是浪得虚名的啊!

3.文字识别(含位置版)

文字识别(含位置版)也只需要修改一条代码

在这里插入图片描述

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径:(输入"q"后按回车键即可退出)')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)

        """ 调用通用文字识别, 图片参数为本地图片 """

        # 位置信息版
        word=client.general(image)

        print(word)

这个的功能就是除了可以识别出文字结果外还可以知道文字的位置
额…其实感觉没啥用
在这里插入图片描述

4.网络图片文字识别

这个的功能就是可以识别网络上的一些背景复杂的图片中的文字
在这里插入图片描述
也是修改一条代码

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径:(输入"q"后按回车键即可退出)')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)

        """ 调用通用文字识别, 图片参数为本地图片 """
        # 网络照片
        word =client.webImage(image)

        str =word['words_result']
        for x in  str:
            print(x['words'])
           

以下面这张图片进行演示
在这里插入图片描述
演示效果:
在这里插入图片描述
虽然图片中的文字是手写体的
但是还是能识别出大部分文字的

5.身份证文字识别

需要添加和修改两条代码
在这里插入图片描述

idCardSide = “back” 时识别的是身份证的背面
idCardSide = "front"时识别的是身份证的正面

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径:(输入"q"后按回车键即可退出)')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)


        # 身份证
        idCardSide = "front"
        """ 调用身份证识别 """
        word=client.idcard(image, idCardSide)

        print(word)

在这里插入图片描述
图片来源于网络…

识别结果:
在这里插入图片描述
可以成功识别出 姓名,民族,住址,公民身份号码,性别
效果还是不错的

6.银行卡文字识别

在这里插入图片描述

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径:(输入"q"后按回车键即可退出)')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)

        # 银行卡识别
        word=client.bankcard(image)
        print(word)

在这里插入图片描述
图片来源于网络.

识别结果:
在这里插入图片描述
可以成功识别出银行卡号

7.车牌号识别

在这里插入图片描述

from aip import AipOcr
while True:
    img_path=input('请输入图片所在的路径:(输入"q"后按回车键即可退出)')

    if img_path=='q':
        break
    else:
        """ 你的 APPID AK SK """
        APP_ID = ''
        API_KEY = ''
        SECRET_KEY = ''

        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

        """ 读取图片 """
        def get_file_content(filePath):
            with open(filePath, 'rb') as fp:
                return fp.read()

        image = get_file_content(img_path)

        # 车牌识别
        word=client.licensePlate(image)

        print(word)

在这里插入图片描述
图片来源于网络.

识别结果:
在这里插入图片描述
是可以成功识别出车牌号的

这篇文章中,演示了几个平时比较热门常用的接口
其他接口的使用都是大同小异的
大部分只用修改一行代码就可以了
大家有兴趣可以自己尝试一下其他的接口

ok~到这里就演示结束啦

如果大家觉得还不错的话,可以点个小赞嘛,加个关注更好哦!

三.博主公众号

扫码关注我的公众号“Yhen杂文铺”发现更多有趣~
在这里插入图片描述

四.往期文章回顾

Yhen手把手带你使用百度智能云①----项目的创建

Yhen带你趣味入门Python①—Windows下Python下载及安装

【python热搜爬虫+定时发送邮件操作①】不会吧不会吧!不会2020了还有人需要用软件看微博热搜吧?

【python微博爬虫+定时发送邮件操作②】不会吧不会吧!不会2020了还有人需要用软件看微博热搜吧?

【爬虫+数据可视化】Yhen手把手带你爬取CSDN博客访问量数据并绘制成柱状图

【爬虫】Yhen手把手带你爬取去哪儿网热门旅游信息(并打包成旅游信息查询小工具

【爬虫】Yhen手把手带你用python爬小说网站,全网打尽,想看就看!(这可能会是你看过最详细的教程)

【实用小技巧】用python自动判断并删除目录下的空文件夹(超优雅)

【爬虫+数据库操作】Yhen手把手带你用pandas将爬取的股票信息存入数据库!

【selenium爬虫】
Yhen手把手带你用selenium自动化爬虫爬取海贼王动漫图片

【爬虫】秀才不出门,天下事尽知。你也能做到!Yhen手把手带你打造每日新闻资讯速达小工具。

【爬虫】Yhen手把手带你用python爬取知乎大佬热门文章

【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔

【前端】学过一天的HTML+CSS后,能做出什么有趣的项目?

  • 15
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
2023-pytorch是一个开源深度学习库,它在计算机视觉领域有广泛的应用。本文将手把手教你如何使用CSDN来学习和获取有关2023-pytorch分类的相关资料和教程。 首先,在你的浏览器中打开CSDN的官方网站,网址为www.csdn.net。在主页上,你可以看到各种热门的技术文章、博客和论坛。在搜索框中输入"2023-pytorch分类",然后点击搜索按钮。CSDN将会为你展示与该关键词相关的所有内容。 接下来,你可以通过筛选工具来找到特定类型的文章或教程。例如,你可以选择只查看博客、文章或教程。你还可以选择按照发布时间或热度排序来获取最新或最受欢迎的内容。 当你找到一篇感兴趣的教程时,点击进入阅读。通常,教程会提供详细的步骤和示例代码,帮助你了解如何使用2023-pytorch进行分类任务。你可以按照教程中的指示一步一步地操作,并理解每个步骤的原理和作用。 除了阅读教程外,CSDN还提供了一个活跃的技术问答社区。你可以在这里向其他用户提问、讨论问题,或分享你的学习体验和心得。社区中的任何人都可以回答你的问题,所以不要犹豫,积极参与其中。 此外,CSDN还为用户提供了博客功能,你可以创建自己的博客来记录学习过程和分享实践经验。通过写博客,你还可以得到其他人的反馈和建议,不断提升自己的技术水平。 总结起来,要使用CSDN学习和获取有关2023-pytorch分类的相关资料和教程,你可以通过搜索功能找到相关内容,阅读教程并按照指导一步一步地进行实践,参与技术问答社区以及利用博客功能分享你的学习心得和经验。通过这些途径,你将能够快速掌握2023-pytorch分类的基本原理和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值