【手写文字识别】百度云API实现文字识别

调用百度云实现手写识别的方法,准确率佳。

1.搜索“百度云”,打开官网:

进入官网后先登录/注册;

搜索“文字识别”,点击打开,点击“立即使用”:

一定要先领取,再创建应用(需要进行实名认证):

领取“通用场景OCR”即可:

领完点击“去创建”,接口选择文字识别的全部;

这个暂不用选,填写描述就领取成功了,后面用到的就是图上打码的三部分:

以上完成后就可以开始写代码了,首先解释一些部分:

from aip import AipOcr

aip 是百度AI开放平台提供的 Python SDK,AipOcr 是其中用于光学字符识别的类。导入 AipOcr 类,以便后续创建识别客户端实例,使我们能够使用百度云的 OCR 功能。

    with open(picname, 'rb') as fp:
        image = fp.read()

使用 with open 语句打开文件,'rb' 表示以二进制模式读取文件,读取图片文件的内容;将图片的二进制数据加载到变量 image 中。

    dic_result = client.basicAccurate(image)

调用 client.basicAccurate 方法,传入图片的二进制数据。向百度云 OCR 服务发送识别请求,并接收响应结果。获取图片中文字的识别结果。

    res = dic_result.get('words_result', [])

从 dic_result 字典中获取 words_result 键对应的值,如果不存在则返回空列表。

提取识别到的文字内容。将识别结果保存到 res 变量中。

    result = ''
    for m in res:
        result += str(m['words']) + '\n'

初始化一个空字符串 result,然后遍历 res 列表,将每个识别出的词添加到 result 中,并在每个词后添加换行符。格式化识别结果为多行字符串。生成最终的识别文本。

完整代码如下:

from aip import AipOcr
# 这部分改为百度云应用中的
APP_ID = 'XXXXXXXXX'
API_KEY = 'XXXXXXXXXXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXX'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

def pic_text_recognition(picname):
    with open(picname, 'rb') as fp:
        image = fp.read()
    dic_result = client.basicAccurate(image)
    print(dic_result)
    res = dic_result.get('words_result', [])
    result = ''
    for m in res:
        result += str(m['words']) + '\n'
    return result

def main(image_path):
    try:
        string = pic_text_recognition(image_path)
        print(f"识别结果:\n{string}")
    except Exception as e:
        print(f"处理 {image_path} 时出错: {e}")

# 输入图片路径
image_path = input("请输入图片路径:")
main(image_path)

 运行时,输入图片文件的地址就可以。我为了方便,将图片复制到pycharm中再复制地址:

 随便趴电脑上写了几行:

要利用百度云 API 进行手写文字图片识别,可以按照以下步骤进行操作: 1. 首先,需要到百度云控制台注册账号并创建一个应用,获取到 API Key 和 Secret Key。 2. 安装 `baidu-aip` 库,这个库是百度云提供的官方 Python SDK,可以使用以下命令安装: ``` pip install baidu-aip ``` 3. 在 Python 代码中导入 `AipOcr` 类,创建一个实例,并设置 API Key 和 Secret Key: ```python from aip import AipOcr APP_ID = 'your app id' API_KEY = 'your api key' SECRET_KEY = 'your secret key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) ``` 4. 加载要识别的图片: ```python with open('image.jpg', 'rb') as f: image = f.read() ``` 5. 调用 `client.basicAccurate` 方法进行文字识别: ```python result = client.basicAccurate(image) ``` 6. 解析返回的结果,可以得到识别出来的文字: ```python words = [] for item in result['words_result']: words.append(item['words']) print(words) ``` 完整的代码示例: ```python from aip import AipOcr APP_ID = 'your app id' API_KEY = 'your api key' SECRET_KEY = 'your secret key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) with open('image.jpg', 'rb') as f: image = f.read() result = client.basicAccurate(image) words = [] for item in result['words_result']: words.append(item['words']) print(words) ``` 需要注意的是,百度云 API 的免费额度是有限的,如果需要进行大量的手写文字图片识别,需要付费购买更多的调用次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值