判断图片格式,转换为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识别图片文字相关推荐

  1. java 获取百度云盘图片_java 利用百度云识别图片文字

    一.百度云使用步骤 1.进入https://console.bce.baidu.com/#/index/overview 登录百度云账号.百度所有账号都是通用的,可以直接利用百度的其他账号(百度网盘. ...

  2. Python百度ai识别图片表格

    Python百度ai识别表格 通过借助百度ai的接口实现含表格图片的识别,并将表格内容返回为Excel文件. 获取Access Token (1)有百度账号的直接登录百度ai,没有的注册在登录. (2 ...

  3. python调用百度AI提取图片文字

    python本身也有识别图片转文字的框架,但是相比调用接口,识别的精度就略显不行了: 这是 百度AI 的网站: https://ai.baidu.com/ ; 点击右上角的 控制台 ,申请或者登陆: ...

  4. 百度OCR识别图片文字,解决image format error错误

    文章目录 1 方法一 1.1 新建HttpUtils,用来发送post请求 1.2 获取 access token 1.3 获取图片的文字信息 1.4 测试 1.5 结果 2 方法二使用jsoup 2 ...

  5. Python——调用百度AI实现图片上文字识别

    Python--调用百度AI实现图片上文字识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 简介 Python免费调用百度 ...

  6. Java使用百度AI实现识别图片文字信息、身份证信息

    百度AI识别API http://ai.baidu.com/docs#/OCR-API/top 这个官网里有丰富的识别示例文档.本文以识别身份证信息作为例子讲解 1.首先登录自己的 "百度智 ...

  7. python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码

    百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...

  8. python 百度ocr安装_Python调用百度OCR实现图片文字识别的示例代码

    百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...

  9. python调用百度AI识别文字和表格

    python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...

最新文章

  1. 2021数据挖掘赛题方案来了!
  2. 在.NET中从app.config或web.config读取设置
  3. 剑指offer(19): 顺时针打印矩阵
  4. 网站运维技术与实践之服务器监测常用命令
  5. 从svn导入项目后处理一些报错信息
  6. 拥抱.NET Core系列:MemoryCache 缓存域
  7. OnKeyPress事件和Javascript检测键盘输入
  8. 云计算监控—Prometheus监控系统(文末赠书)
  9. 用装饰器来进行登录验证
  10. 简单Android app开发_个人如何开发手机app?做个app需要的技术?最简单app制作流程...
  11. java实现单词首字母小写转大写
  12. 电影资源 BT PT下载的电影命名 规则 资源 详解
  13. Delphi 2010控件安装
  14. 什么是长元音和短元音
  15. 会员管理系统实战开发教程(三)-充值记录功能
  16. Java全栈开发---Java ERP系统开发:商业ERP(一)UML建模工具的使用
  17. Shell循环语句(for、while、until)及echo、IFS
  18. 自动化行业软件工程师工作第一年总结
  19. 布局管理器——表格布局
  20. VUE如何快速做一个轮播图

热门文章

  1. I.MX6Q(TQIMX6Q/TQE9)学习笔记——U-Boot移植
  2. Java菜鸟补给站---AJAX和JSON
  3. Python画图示例之 3D绘图
  4. Python 爬取猫眼数据分析《无名之辈》为何能逆袭成黑马?
  5. Python-matplotlib-中文字体显示和设置
  6. linux中读取网卡信息(ip, mask, mac)以及判断物理网线是否插好的C程序---我亲自试了一下,还不错!
  7. CentOS 8 下载软件方法
  8. 人工智能可以作曲模型
  9. uvm_tlm_req_rsp_channel
  10. 百田游戏策划笔试回忆