免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1518|回复: 45
收起左侧

[二次开发] python识别图片文字

  [复制链接]

6

主题

1万

铜板

41

好友

VIP会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
1392
发表于 2023-7-12 16:36 | 显示全部楼层 |阅读模式
本帖最后由 微雨伴恭城 于 2023-7-12 16:48 编辑

前段时间在论坛看到有朋友在问怎么识别图片文字的问题,今天刚好完成了公众号上关于这个内容的分享,也在这里跟大家分享交流。
这里首先就要简单介绍一下OCR(Optical Character Recognition),也就是光学字符识别,是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。像微信截图后可以直接复制文字,这个就是OCR。
这里就两种python调用ocr识别文字的方法跟大家交流分享。
1.用python的pytesseract tesseract-ocr识别图片文字。通过tesseract站点包,进行文字识别,但是识别效率较低,只能识别简单背景的图片,稍微复杂点的图片,错误率很高,甚至有可能无法识别。代码如下:
  1. <pre style=""># coding:utf-8
  2. import pytesseract
  3. from PIL import Image
  4. import glob
  5. import os


  6. def wordProcess(string):
  7.     string = string.replace(" ", "")
  8.     string = string.replace("|", "")
  9.     #string = string.replace(":", "")
  10.     string = string.replace(";", "")
  11.     string = string.replace(".", "")
  12.     string = string.replace("“", "")
  13.     return string.replace("\n", "")

  14. def readWordInImage(inputPath):
  15.     for each_image in glob.glob(os.path.join(inputPath, '*.jpg')):
  16.         image = Image.open(each_image)
  17.         words = pytesseract.image_to_string(image, lang='chi_sim')
  18.         # print(word)
  19.         wordsResult = wordProcess(words)[10:500]
  20.         print(wordsResult)

  21. if __name__ == '__main__':
  22.     inputPath = 'F:/newfolder/'
  23.     readWordInImage(inputPath)</pre>
复制代码
2.调用大厂的api进行文字识别,比如百度、腾讯、搜狗等等,本文调用的百度api的通用文字识别。
(1)[color=rgba(0, 0, 0, 0.9)]登录百度智能云(百度账号可登录),进入控制台。
百度智能云控制台.jpg
(2)从左上角的产品服务弹出菜单,选择文字识别进入控制台总览。
控制台产品服务.jpg
(3)从控制台中创建应用,选择需要的接口。
创建应用.jpg
(4)在应用中查看AppID、API Key、Secret Key,后续调用接口要用。
id.jpg
(5)代码回复可见
游客,如果您要查看本帖隐藏内容请回复

3.有兴趣的朋友可以关注下我的公众号,HolaGIS。
公众号.jpg

更多GIS资料信息请关注微信公众号HolaGIS

2

主题

8178

铜板

2

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
517
发表于 2023-7-12 17:21 | 显示全部楼层
谢谢分享,还想着能不能把提取的信息形成gis用的点矢量之类的
回复 支持 反对

使用道具 举报

6

主题

1万

铜板

41

好友

VIP会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
1392
 楼主| 发表于 2023-7-12 17:32 | 显示全部楼层
化不开的sai 发表于 2023-7-12 17:21
谢谢分享,还想着能不能把提取的信息形成gis用的点矢量之类的

这个要看图片的具体内容和后续的处理要求,这个只是读取文字。一病一方,针对读取出来的内容做处理要针对性的开发,我自己后面处理代码,也是没贴出来。如果图上有坐标的文字信息,可以读取后再生成矢量。如果有需求的话,这边可以实现的。

更多GIS资料信息请关注微信公众号HolaGIS
回复 支持 反对

使用道具 举报

157

主题

3万

铜板

29

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3106

童话节勋章灌水勋章

发表于 2023-7-12 17:45 | 显示全部楼层
学习一下
回复

使用道具 举报

33

主题

3万

铜板

19

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
7571

活跃勋章

发表于 2023-7-12 21:10 | 显示全部楼层
学习学习
回复

使用道具 举报

2

主题

4694

铜板

4

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
317
发表于 2023-7-13 08:26 | 显示全部楼层
厉害!!!!!!
回复

使用道具 举报

0

主题

5048

铜板

2

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
503
QQ
发表于 2023-7-13 08:40 | 显示全部楼层
66666666666666666666
回复 支持 反对

使用道具 举报

6

主题

1万

铜板

15

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
21075
发表于 2023-7-13 08:52 | 显示全部楼层
谢谢分享谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1万

铜板

6

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3279
发表于 2023-7-13 08:54 | 显示全部楼层
多谢楼主分享
回复 支持 反对

使用道具 举报

4

主题

2621

铜板

19

好友

助理工程师

Rank: 5Rank: 5

积分
302

精华勋章宣传勋章

发表于 2023-7-13 08:59 | 显示全部楼层
谢谢分享!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表