前言

大家好!我是梨同学!

我希望你能支持我!哈哈

感谢所有关心我的人:💓每篇文章的项目源码免费分享💓👇👇👇👇

点击这里查看蓝色字体。你需要什么源代码?记得说标题和名字!我也可以写私信!

小编也一直在学习编程。如果代码小程序有错误,请在评论区留言!

最后——如果文章对你有帮助,记得“关注”“点赞”“评论”哦~

文字

你在日常办公中是否经常遇到这些困难:

1百度图书馆VIP文章不能复制粘贴?采购成本不低。这是禁止的

2 是否要将扫描的文档转换为可编辑的文档?

3 提取图片中的文字?拍照一时爽。一句一句,化作文字。我担心得要死

4 无法复制pdf文件。如何从PDF中提取文本?

说到图片转文字,很多人都需要用到它。今天小编就教大家制作自己的[图片字符识别]程序

前言~

环境安装——

1)准备相应的识别图片。以下是网上随机搜索的素材图片!

2)python 3.0环境准备安装,基本上所有python版本都可以编辑7.pycharm2021,界面

编程模块Pyqt5,然后自带的一些可以不用管直接导入。

安装模块的常用方法,也就是第三方模块的小编译,是:pip install + 模块名或者加速需要使用镜像源,

百度或者csdn搜索会出来很多安装模块的图源,这里就不一一介绍了!

程序原理介绍:

python使用百度字符识别功能,对上传的图片进行扫描,获取图片的文字信息。

导入模块——

导入请求,base64

从 PIL 导入图像

选择图片类型为 jpg ,。 .png

# 选择图片执行方式 def openfile(self):

启动选择文件对话框并找到jpg和png图片

self.download_path u003d QFileDialog.getOpenFileName(self, "选择要识别的图片", os.getcwd(), "图像文件(*.jpg *.png)")

图像识别:图像识别(API)''

请求_url u003d "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage"

以二进制方式打开图片文件 f u003d open (self.Download_path [0],'rb') img u003d Base64 b64encode(f.read())params u003d {"image": img}

access_token u003d '[调用认证接口获取的token]' request_ url u003d request_ url + "?access_tokenu003d" + baiduToken headers u003d {'content-type': 'application /x-www-form-urlencoded'}

response u003d requests.post(request_url, datau003dparams, headersu003dheaders) if response: # print(response.json()) return response.json()

效果展示——

代码显示——

从 PyQt5.QtWidgets 导入 *

从 PyQt5.QtGui 导入 *

引入自定义模块

进口直流

内置模块介绍

导入系统

导入我们

第三方模块介绍

导入请求,base64

从 PIL 导入图像

类父窗口(QWidget,dc.Ui\Form):

初始化方法

定义__init__(自我):

查找父类主页

super(parentWindow, self).__init__()

初始化页面方法

self.setupUi(自我)

点击选择图片

self.selectImg.clicked.connect(self.openfile)

点击查看图片

self.viewIng.clicked.connect(self.view tn)

选择图片执行方式

def 打开文件(自我):

启动选择文件对话框并找到jpg和png图片

self.download_path u003d QFileDialog.getOpenFileName(self, "选择要识别的图片", os.getcwd(), "图像文件(*.jpg *.png)")

判断是否选择图片

如果不是 self.download_path[0].strip():

QMessageBox.information(self, '提示信息', '未选择名片图片')

通过

其他:

pixmap 解析图片

pixmap u003d QPixmap(self.download_path[0])

设置图片

self.imgLabel.setPixmap(像素图)

让图片适应标签大小

self.imgLabel.setScaledContents(True)

尝试:

识别名片图片并返回识别结果

内容 u003d self.recgImg()

除了:

QMessageBox.information(self, '提示信息', '识别错误,请重新选择图片')

识别图片的数据赋值

单词_result u003d 内容['单词_result']

打印(单词_结果)

文字 u003d ''

对于单词中的项目_结果:

对于 item.values() 中的 v:

文本 u003d 文本 + '\n' + v

self.discernText.setText(文本)

识别名片图片

def recgImg(自我):

获取百度token

apikey u003d '你的 apikey'

seckey u003d '你的 seckey'

tokenUrl u003d 'https://aip.baidubce.com/oauth/2.0/token?grant_typeu003dclient_credentials&client_idu003d' + apikey + '&client_secretu003d' + seckey

res u003d requests.get(urlu003dtokenUrl, headersu003d{'content-type': 'application/json; charsetu003dUTF-8'}).json()

baiduToken u003d res['access_token']

'''

图像识别(API)

'''

请求_url u003d "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage"

以二进制方式打开图片文件

f u003d open(self.download_path[0], 'rb')

img u003d base64.b64encode(f.read())

参数 u003d {“图像”:img}

access_token u003d '[调用认证接口获取的token]'

请求_url u003d 请求_url + "?access_tokenu003d" + baiduToken

标头 u003d {'content-type': 'application/x-www-form-urlencoded'}

response u003d requests.post(request_url, datau003dparams, headersu003dheaders)

如果响应:

打印(response.json())

返回响应.json()

点击查看图片显示大图功能

def viewbtn(自我):

如果 self.download_path:

使用电脑中的图片查看工具打开图片

img u003d Image.open(self.download_path[0])

显示图片

img.show()

其他:

QMessageBox.information(self, '提示信息', '先选择名片图片')

如果 __name__ u003du003d '__main__':

每个 PyQt5 应用程序必须创建一个应用程序对象

应用程序 u003d QApplication(sys.argv)

初始化页面

窗口 u003d 父窗口()

显示主页

窗口.show()

sys.exit(app.exec_())

总结

这个宝物神器:字符识别和So easy,扫描就能实现!有兴趣的小伙伴2,来找我获取源码吧~

更多精彩内容关注小编!

做起来不容易。记得点三下!!如需打包源码+素材,免费分享!传送门

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐