百度AI识别图片文字
判断图片格式,转换为Jpg格式,为图片文字识别做准备
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# 转换图片格式为jpg格式import os
from PIL import Imageclass PictureChange:def single_format_change(self, file):"""转换单个图片的文件格式:param file:图片的绝对路径:return:原路径生成转换后的图片"""file_path, file_name = os.path.split(file) # 获取图片的路径、名称file_name = file_name.split(".")[0] # 获取图片的名称,不带格式img = Image.open(file)if img.mode == "P":img = img.convert('RGB')address = os.path.join(file_path, file_name) # 拼接图片原始路径img.save(f"{address}.jpg") # 将图片保存在原始路径def format_change(self, files_path):"""从指定图片目录获取所有图片,遍历转换图片格式(注意路径的转译):param files_path: 图片存放的目录:return:当前路径下生成存放转换结果的目录"""# 获取输入文件夹中的所有文件files = os.listdir(files_path)# 构建输出文件夹是否存在,不存在则创建output_dir = os.path.join(files_path, "result")if not os.path.exists(output_dir):os.makedirs(output_dir)for file in files:file_name = file.split(".")[0] # 获取图片的名称,不带格式_file = os.path.join(files_path, file) # 拼接读取图片的绝对路径try:img = Image.open(_file)if img.mode == "P":img = img.convert('RGB')address = os.path.join(output_dir, file_name) # 拼接图片原始路径img.save(f"{address}.jpg")except PermissionError:return "重复执行,部分或者全部图片已转换完成"
通过百度AI识别Jpg图片文字
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# 在识别图片文字import base64
import requestsclass Jpg2word:def __init__(self):# 获取百度AI访问tokenself.baidu_token_url = 'https://aip.baidubce.com/oauth/2.0/token'# 识别身份证接口urlself.idcard_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard"# 通用文字识别接口urlself.general_word_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"# 后续扩展其他类型文字识别接口def baidu_token(self):data = {'AppID': '********', # 平台AppID'grant_type': 'client_credentials', # 固定值'client_id': '************************', # 在开放平台注册后所建应用的API Key'client_secret': '********************************' # 所建应用的Secret Key}res = requests.post(self.baidu_token_url, data=data)res = res.json()access_token = res['access_token']return access_tokendef idcard(self, file):"""身份证识别:param file:图片路径+图片名称,仅支持jpg格式:return:识别文本信息"""f = open(file, 'rb')img = base64.b64encode(f.read())# 构建请求参数params = {"id_card_side": "front", "image": img}access_token = self.baidu_token()request_url = self.idcard_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}response = requests.post(request_url, data=params, headers=headers)if response:res = response.json()["words_result"]file_name = "id_card.txt"with open(file_name, 'w', encoding='utf-8') as f:f.write("住址:" + res["住址"]["words"] + "\n")f.write("出生日期:" + res["出生"]["words"] + "\n")f.write("姓名:" + res["姓名"]["words"] + "\n")f.write("公民身份号码:" + res["公民身份号码"]["words"] + "\n")f.write("性别:" + res["性别"]["words"] + "\n")f.write("民族:" + res["民族"]["words"] + "\n")def general_word(self, file):"""文字识别:param file: 图片路径+图片名称,仅支持jpg格式:return:识别文本信息"""file_name = file.split(".")[0]# 二进制方式打开图片文件f = open(file, 'rb')img = base64.b64encode(f.read())# 构建请求参数params = {"image": img, "language_type": "CHN_ENG"} # 请求参数access_token = self.baidu_token() # 请求access_tokenrequest_url = self.general_word_url + "?access_token=" + access_token # 请求urlheaders = {'content-type': 'application/x-www-form-urlencoded'} # 请求头response = requests.post(request_url, data=params, headers=headers)if response:res = response.json()["words_result"]new_file_name = f"{file_name}.txt"try:with open(new_file_name, 'w+', encoding='utf8') as f:for word in res:f.write(word["words"] + "\n")finally:f.close()else:return 'no massage return'
参考文档:https://blog.csdn.net/qq_25535969/article/details/107273216
百度AI识别图片文字相关推荐
- java 获取百度云盘图片_java 利用百度云识别图片文字
一.百度云使用步骤 1.进入https://console.bce.baidu.com/#/index/overview 登录百度云账号.百度所有账号都是通用的,可以直接利用百度的其他账号(百度网盘. ...
- Python百度ai识别图片表格
Python百度ai识别表格 通过借助百度ai的接口实现含表格图片的识别,并将表格内容返回为Excel文件. 获取Access Token (1)有百度账号的直接登录百度ai,没有的注册在登录. (2 ...
- python调用百度AI提取图片文字
python本身也有识别图片转文字的框架,但是相比调用接口,识别的精度就略显不行了: 这是 百度AI 的网站: https://ai.baidu.com/ ; 点击右上角的 控制台 ,申请或者登陆: ...
- 百度OCR识别图片文字,解决image format error错误
文章目录 1 方法一 1.1 新建HttpUtils,用来发送post请求 1.2 获取 access token 1.3 获取图片的文字信息 1.4 测试 1.5 结果 2 方法二使用jsoup 2 ...
- Python——调用百度AI实现图片上文字识别
Python--调用百度AI实现图片上文字识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 简介 Python免费调用百度 ...
- Java使用百度AI实现识别图片文字信息、身份证信息
百度AI识别API http://ai.baidu.com/docs#/OCR-API/top 这个官网里有丰富的识别示例文档.本文以识别身份证信息作为例子讲解 1.首先登录自己的 "百度智 ...
- python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- python 百度ocr安装_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- python调用百度AI识别文字和表格
python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...
最新文章
- 6.11 将分割数据转换为多值IN列表
- ThinkPHP微信实例——JSSDK图像接口多张图片上传下载并将图片流写入本地
- linux 函数 缩小文件,linux文件系统的处理函数
- php 字符串包含另一个字符串_每天一个PHP语法二字符串使用及内部结构
- 数据挖掘算法学习(四)PCA算法
- 网页版nfc_苹果5大系统升级新特性浓缩汇总!秋季5G版iPhone稳了
- 解决Django静态文件配置pycharm高光问题
- 2019软博会“核心软件创新发展”主题论坛成功召开
- 实现添加商品信息功能
- 思杰VDI外篇XDDC安装
- RabbitMQ 学习开发笔记
- Baxter实战 (二)ubuntu14.04安装Baxter Workstation
- python列表比大小_Python列表按组大小排序
- 圆周率一千万亿位_圆周率已经达到1000万亿位了,为何还在不断计算,到底有什么用?...
- 单系统 台电x80pro_台电X80HD安装Win8单系统教程
- 参考计算机科学导论的毕业论文,计算机学科导论论文
- 如何利用抖加实现精准引流?3种玩法,愿你别再花冤枉钱了?(五)
- 失意的互联网人拼命叩开Web3大门
- Halcon 自动对焦算法
- WinScp 安装连接使用
热门文章
- TCP协议学习记录 (三) Ping程序 RR选项 记录路由hop
- Megacity(二分答案简单题之杨氏代码)
- 还记得蜘蛛纸牌吗?这个C++开发的小游戏,原来是这样玩的
- 基于redis简单实现网站访问量计数
- 苹果手机2019年什么时候出新款_2020年双十一有啥值得买 之 苹果手机/平板篇(iPhone、iPad等,促销前预估价格)...
- 基于python的密码管理工具
- 华氏温度和摄氏温度的转换
- 会员积分体系设计思路(转)
- Unity宏 + RSP文件定义宏
- 月结3 - 自动清账(GR/IR科目)[F.13/OB74]