【文字识别小程序】快速识别文字,一款用了就再也离不开的宝藏神器~(出道即巅峰永久免费)
前言
大家好!我是梨子同学!
希望大家多多支持我!哈哈
为了感谢每一个关注我的小可爱:💓每篇文章的项目源码都是无偿分享滴💓👇👇👇👇
点这里蓝色这行字体自取,需要什么源码记得说标题名字哈!私信我也可!
小编也一直在学习编程,如果代码小程序出现错误欢迎大家评论区留言哈!
最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~
正文
日常办公时,你是否常遇到这几个困境:
① 百度文库VIP文章无法复制粘贴?购买费用不低呢,望而却步
② 扫描的文档要转化成可编辑文档?
③ 提取图片里的文字?拍照一时爽,一张张转成文字愁死个人
④ PDF文件不能复制,如何提取PDF中的文字?
说到图片转文字,很多人都要用到,今天小编就教大家制作一款专属自己的【图片文字识别】小程
序啦~
环境安装——
1)准备好相应的识别的图片,这里是随机到网上寻找的素材图片!
2)环境安装准备好Python版本基本上都可以、小编用的Python3.7、Pycharm2021的,界面化的
编程模块Pyqt5,然后一些自带的不用管 直接导入即可。
安装模块也就是第三方模块的小编经常用的方法是:pip install +模块名或者提速需要用到镜像源,
百度下或者csdn搜下就会出来很多安装模块的镜像源这里就不一一介绍了!
程序原理简介:
python利用百度文字识别功能,实现对上传的图片进行扫描,获取图片的文字信息。
导入模块——
import requests, base64 from PIL import Image选择图片类型为.jpg 、.png。
# 选择图片执行方法 def openfile(self): # 启动选择文件对话空,查找jpg以及png图片 self.download_path = QFileDialog.getOpenFileName(self, "选择要识别的图片", os.getcwd(), "Image Files(*.jpg *.png)")进行图片识别: 图片识别(API) '''
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage" # 二进制方式打开图片文件 f = open(self.download_path[0], 'rb') img = base64.b64encode(f.read())params = {"image": img} # access_token = '[调用鉴权接口获取的token]' request_url = request_url + "?access_token=" + baiduToken headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: # print(response.json()) return response.json()效果展示——
代码展示——
from PyQt5.QtWidgets import * from PyQt5.QtGui import *# 引入自定义模块 import dc # 引入内置模块 import sys import os # 引入第三方模块 import requests, base64 from PIL import Imageclass parentWindow(QWidget, dc.Ui_Form):# 初始化方法def __init__(self):# 找到父类 首页面super(parentWindow, self).__init__()# 初始化页面方法self.setupUi(self)# 点击选择图片self.selectImg.clicked.connect(self.openfile)# 点击查看图片self.viewImg.clicked.connect(self.viewbtn)# 选择图片执行方法def openfile(self):# 启动选择文件对话空,查找jpg以及png图片self.download_path = QFileDialog.getOpenFileName(self, "选择要识别的图片", os.getcwd(), "Image Files(*.jpg *.png)")# 判断是否选择图片if not self.download_path[0].strip():QMessageBox.information(self, '提示信息', '没有选择名片图片')passelse:# pixmap解析图片pixmap = QPixmap(self.download_path[0])# 设置图片self.imgLabel.setPixmap(pixmap)# 让图片自适应label大小self.imgLabel.setScaledContents(True)try:# 识别名片图片返回识别结果content = self.recgImg()except:QMessageBox.information(self, '提示信息', '识别错误请重新选择图片')# 识别图片的数据赋值words_result = content['words_result']# print(words_result)text = ''for item in words_result:for v in item.values():text = text + '\n' + vself.discernText.setText(text)# 识别名片图片def recgImg(self):# 获取baiduTokenapikey = '你的apikey'seckey = '你的seckey'tokenUrl = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + apikey + '&client_secret=' + seckeyres = requests.get(url=tokenUrl, headers={'content-type': 'application/json; charset=UTF-8'}).json()baiduToken = res['access_token']'''图片识别(API)'''request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage"# 二进制方式打开图片文件f = open(self.download_path[0], 'rb')img = base64.b64encode(f.read())params = {"image": img}# access_token = '[调用鉴权接口获取的token]'request_url = request_url + "?access_token=" + baiduTokenheaders = {'content-type': 'application/x-www-form-urlencoded'}response = requests.post(request_url, data=params, headers=headers)if response:# print(response.json())return response.json()# 点击查看图片显示大图功能def viewbtn(self):if self.download_path:# 使用电脑中的看图工具打开图片img = Image.open(self.download_path[0])# 显示图片img.show()else:QMessageBox.information(self, '提示信息', '先选择名片图片')if __name__ == '__main__':# 每一个PyQt5应用都必须创建一个应用对象app = QApplication(sys.argv)# 初始化页面window = parentWindow()# 显示首页window.show()sys.exit(app.exec_())总结
这款宝藏神器:扫一扫就能文字识别、So easy!感兴趣的小伙伴二找我来拿源码吧~
关注小编获取更多精彩内容!
制作不易,记得一键三连哦!! 如需打包好的源码+素材免费分享滴!!传送门
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读
总结
以上是生活随笔为你收集整理的【文字识别小程序】快速识别文字,一款用了就再也离不开的宝藏神器~(出道即巅峰永久免费)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Pygame小游戏】这款休闲游戏你肯定
- 下一篇: 【颜值打分小程序】最火爆的“颜值测试”,