判断图片格式,转换为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. 6.11 将分割数据转换为多值IN列表
  2. ThinkPHP微信实例——JSSDK图像接口多张图片上传下载并将图片流写入本地
  3. linux 函数 缩小文件,linux文件系统的处理函数
  4. php 字符串包含另一个字符串_每天一个PHP语法二字符串使用及内部结构
  5. 数据挖掘算法学习(四)PCA算法
  6. 网页版nfc_苹果5大系统升级新特性浓缩汇总!秋季5G版iPhone稳了
  7. 解决Django静态文件配置pycharm高光问题
  8. 2019软博会“核心软件创新发展”主题论坛成功召开
  9. 实现添加商品信息功能
  10. 思杰VDI外篇XDDC安装
  11. RabbitMQ 学习开发笔记
  12. Baxter实战 (二)ubuntu14.04安装Baxter Workstation
  13. python列表比大小_Python列表按组大小排序
  14. 圆周率一千万亿位_圆周率已经达到1000万亿位了,为何还在不断计算,到底有什么用?...
  15. 单系统 台电x80pro_台电X80HD安装Win8单系统教程
  16. 参考计算机科学导论的毕业论文,计算机学科导论论文
  17. 如何利用抖加实现精准引流?3种玩法,愿你别再花冤枉钱了?(五)
  18. 失意的互联网人拼命叩开Web3大门
  19. Halcon 自动对焦算法
  20. WinScp 安装连接使用

热门文章

  1. TCP协议学习记录 (三) Ping程序 RR选项 记录路由hop
  2. Megacity(二分答案简单题之杨氏代码)
  3. 还记得蜘蛛纸牌吗?这个C++开发的小游戏,原来是这样玩的
  4. 基于redis简单实现网站访问量计数
  5. 苹果手机2019年什么时候出新款_2020年双十一有啥值得买 之 苹果手机/平板篇(iPhone、iPad等,促销前预估价格)...
  6. 基于python的密码管理工具
  7. 华氏温度和摄氏温度的转换
  8. 会员积分体系设计思路(转)
  9. Unity宏 + RSP文件定义宏
  10. 月结3 - 自动清账(GR/IR科目)[F.13/OB74]