获取图片文字

如何使用python获取图片文字呢?

关注公众号【轻松学编程】了解更多…

1、通过python的第三方库pytesseract获取

通过pip install pytesseract导入。

1.1、安装tesseract-ocr

先在官网 下载对应操作系统的tesseract-ocr ,比如我现在在windows系统下,就下载exe文件安装,可点击这里下载,下载后运行exe后选择一个目录安装,这个目录需要记住,后面中需要用到,比如我的目录为D:\ruanjian\Tesseract-OCR

1.2 下载训练好的语言包

地址 ,这里想提取图片中的中文字,于是下载chi_sim.traineddata,下载到上面安装tesseract-ocr目录中的文件夹tessdata中,如图:

1.3 代码

import pytesseract
from PIL import Image# 打开一张图片
image = Image.open(r'images\82-望岳.png')
pytesseract.pytesseract.tesseract_cmd = r'D:\ruanjian\Tesseract-OCR\tesseract.exe'
tessdata_dir_config = r'--tessdata-dir "D:\ruanjian\Tesseract-OCR\tessdata"'
# 提取中文,如果是提取英文,则先下载语言包,然后设置以下参数lang='eng'即可。
code = pytesseract.image_to_string(image, lang='chi_sim', config=tessdata_dir_config)print(code)

比如我需要提取以下图片文字:

处理结果:

这种方式优点就是可以无限次运行,只要配置好电脑环境就可以,缺点就是不能混语言。比如图片中夹杂中文与英文,提取效果就不是很好。

2、使用百度接口

先到百度智能云 创建一个应用获取APP_ID、API_KEY、SECRET_KEY

然后下载python的SDK,下载后使用pip install aip-python-sdk-2.2.15.zip安装

import base64
import requests
import time
import ast
from aip import AipOcr# https://console.bce.baidu.com/ai/#/ai/ocr/overview/index
""" 你的 APPID AK SK """
APP_ID = '你的'
API_KEY = '你的'
SECRET_KEY = '你的'
# 百度api客户端
CLIENT = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 请求头
HEADERS = {'Content-Type': 'application/x-www-form-urlencoded'
}
# 获取令牌的url
URL = 'https://aip.baidubce.com/oauth/2.0/token'
ACCESS_TOKEN = None
# 用于记录获取令牌的开始时间
SRART_TIME = time.time()def get_file_content(filePath):# 获取文件内容with open(filePath, 'rb') as fp:return fp.read()def get_access_token():# 获取令牌global ACCESS_TOKEN, SRART_TIME, URLresponse = requests.post(URL,{'grant_type': 'client_credentials', 'client_id': API_KEY, 'client_secret': SECRET_KEY})ACCESS_TOKEN = ast.literal_eval(response.content.decode('utf-8'))['access_token']SRART_TIME = time.time()def req_url(image):# 调用百度AI接口获取图像识别后的内容,调用接口次数为每日5万次global ACCESS_TOKEN, SRART_TIME, HEADERSif not ACCESS_TOKEN or (time.time() - SRART_TIME > 7000):get_access_token()response = requests.post('https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=%s' % ACCESS_TOKEN,{'image': image}, headers=HEADERS)return response.content.decode('utf-8')if __name__ == '__main__':# 图片内容image = get_file_content(r'image\望岳.png')# 获取分析结果ret = req_url(base64.b64encode(image).decode())# 字符串转字典ret = ast.literal_eval(ret)if 'words_result' in ret:for words in ret['words_result']:print(words['words'])

输出:

使用场景

可以利用这些图片识别给名片分类、获取图片上的关键信息、车牌识别等。

后记

【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!

公众号

156789.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xtX2lzX2Rj,size_16,color_FFFFFF,t_70)

关注我,我们一起成长~~

使用AI技术获取图片文字与识别图像内容相关推荐

  1. 调用百度ai接口实现图片文字识别详解

    调用百度ai接口实现图片文字识别详解 首先先介绍一下这篇博文是干嘛的,为了不浪费大家时间.公司最近和短视频公司合作,需要监控app的截图上的文字是否符合规范,也就是确保其没有违规的文字.到网上找了一些 ...

  2. python读取图片文字-Python3实现获取图片文字里中文的方法分析

    本文实例讲述了Python3实现获取图片文字里中文的方法.分享给大家供大家参考,具体如下: 一.运行环境 (1) win10 (2) pycharm (3) python 3.5 (4) pillow ...

  3. 同事内推一个华为的技术,有能力用AI技术使图片的人物动起来

    同事内推一个华为的技术大牛,有能力用AI技术使图片的人物动起来,就这个举动公司给他开了一个月60000,入职两个月晋升经理. 在半年前我公司在搞新的项目,这项目有这样的需求通过 AI技术模拟还原现实的 ...

  4. 识别图片文字怎么识别?这些方法轻松达成

    很多人在出差的时候没有时间记录各种信息.一般比较好用的方法就是使用手机拍下这些重要信息.在需要查询的时候可以直接在手机上查阅,但有时候在汇总工作或者做一些工作记录的话就需要将其内容导出了.那么小伙伴们 ...

  5. h5调用手机摄像头获取图片用于人脸识别

    h5调用手机摄像头获取图片用于人脸识别 1.安卓手机获取前置摄像头,并在video标签显示 注:navigator.mediaDevices.getUserMedia文档说明兼容Safari11,实测 ...

  6. 调用百度AI接口实现图片文字识别

    一.准备阶段 进入百度AI网址点击这里跳转 ,点击导航栏的开放能力 ---- 文字识别 ---- 通用文字识别,进入文字识别OCR界面. 在文字识别ORC界面点击 技术文档 进入帮助文档. 在左侧可以 ...

  7. 使用selenium自动登陆b站 图片文字验证识别

    文章目录 前言 一. 反,反反爬虫 1.反爬虫 2.反反爬虫 二,超级鹰 三.完整代码 1.导包 2.超级鹰接口 3.连接手动开启的浏览器 4.定位文本框标签 5.图片文字识别 6.文本处理,坐标处理 ...

  8. 怎么识别图片文字?识别有技巧

    我们在网上查找资料的时候,碰到图片形式的文件想要将文字整理出来会比较麻烦,逐字逐句手动录入费时费力,怎么将图片转成文字呢?下面,介绍一下如何将图片中的文字转换出来的方法. 方法一.识别软件识别图片文字 ...

  9. python爬虫代码提取图片中的文字_python识别图像并提取文字的实现方法

    前言 python图像识别一般基础到的就是tesseract了,在爬虫中处理验证码广泛使用. 安装 安装教程网上大都差不多,Windows下确实比较麻烦,涉及到各种路径.环境变量甚至与linux不同的 ...

最新文章

  1. 浅谈分布式计算的开发与实现(一)
  2. 漫画:臭长臭长的高频贪心面试题
  3. CNS级别的插图你也可以实现,只需2天
  4. 使用struts2框架来实现CRUD(create、read、update、delete)
  5. 软件测试用例优秀例子_最全软件测试面试题汇总
  6. KVM虚拟机IO处理过程(一) ----Guest VM I/O 处理过程
  7. 对Unity的Resources目录进行改名
  8. 7 QM配置-质量计划配置-定义检验方法的编号范围
  9. Java NIO网络编程之Selector
  10. Keepalived 配置实例
  11. 【转】解决 canvas 在高清屏中绘制模糊的问题
  12. 关于我对区块链和比特币的看法
  13. 随机信号分析实验(matlab仿真实验)
  14. cadence 与ad DXF 转换 以及板框制作
  15. c语言转换成delphi程序语言
  16. AAE 对抗自编码(一)
  17. ELK-logstash 的 grok与dissect 测试应用
  18. Kettle【实践 04】Java环境实现KJB和KTR脚本文件执行v9版本9.0.0.0-423相关依赖说明(云资源分享:依赖包+kjb+ktr+测试源码)
  19. 区块链十年一梦:有人辞官归故里,有人星夜来赶考
  20. rate-limiting

热门文章

  1. 小程序微信小程序设计登录页面
  2. 计算机网络应用技术技能大赛
  3. java.lang.NoClassDefFoundError: com.yolanda.nohttp.NoHttp
  4. linux下rename用法--批量重命名
  5. HTML语义化标签理解
  6. 不堪回首的真实往事:我和一个骗子网友的两年矛盾纠葛
  7. 机器学习的可解释性(总结)
  8. Ardunio开发实例-旋转角度传感器
  9. 头歌答案--编写一个能搜索单词的程序Bailey–Borwein–Plouffe公式
  10. antd 表单 校验、取值、重置