【文字识别小程序】快速识别文字,一款用了就再也离不开的宝藏神器~(出道即巅峰永久免费)
前言
大家好!我是梨子同學(xué)!
希望大家多多支持我!哈哈
為了感謝每一個關(guān)注我的小可愛:💓每篇文章的項目源碼都是無償分享滴💓👇👇👇👇
點這里藍(lán)色這行字體自取,需要什么源碼記得說標(biāo)題名字哈!私信我也可!
小編也一直在學(xué)習(xí)編程,如果代碼小程序出現(xiàn)錯誤歡迎大家評論區(qū)留言哈!
最后——如果文章有幫助到你,記得“關(guān)注”、“點贊”、“評論”三連哦~
正文
日常辦公時,你是否常遇到這幾個困境:
① 百度文庫VIP文章無法復(fù)制粘貼?購買費用不低呢,望而卻步
② 掃描的文檔要轉(zhuǎn)化成可編輯文檔?
③ 提取圖片里的文字?拍照一時爽,一張張轉(zhuǎn)成文字愁死個人
④ PDF文件不能復(fù)制,如何提取PDF中的文字?
說到圖片轉(zhuǎn)文字,很多人都要用到,今天小編就教大家制作一款專屬自己的【圖片文字識別】小程
序啦~
?
環(huán)境安裝——
1)準(zhǔn)備好相應(yīng)的識別的圖片,這里是隨機到網(wǎng)上尋找的素材圖片!
2)環(huán)境安裝準(zhǔn)備好Python版本基本上都可以、小編用的Python3.7、Pycharm2021的,界面化的
編程模塊Pyqt5,然后一些自帶的不用管 直接導(dǎo)入即可。
安裝模塊也就是第三方模塊的小編經(jīng)常用的方法是:pip install +模塊名或者提速需要用到鏡像源,
百度下或者csdn搜下就會出來很多安裝模塊的鏡像源這里就不一一介紹了!
程序原理簡介:
python利用百度文字識別功能,實現(xiàn)對上傳的圖片進(jìn)行掃描,獲取圖片的文字信息。
導(dǎo)入模塊——
import requests, base64 from PIL import Image選擇圖片類型為.jpg 、.png。
# 選擇圖片執(zhí)行方法 def openfile(self): # 啟動選擇文件對話空,查找jpg以及png圖片 self.download_path = QFileDialog.getOpenFileName(self, "選擇要識別的圖片", os.getcwd(), "Image Files(*.jpg *.png)")進(jìn)行圖片識別:?圖片識別(API)?'''
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage" # 二進(jìn)制方式打開圖片文件 f = open(self.download_path[0], 'rb') img = base64.b64encode(f.read())params = {"image": img} # access_token = '[調(diào)用鑒權(quán)接口獲取的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 # 引入內(nèi)置模塊 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)# 選擇圖片執(zhí)行方法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])# 設(shè)置圖片self.imgLabel.setPixmap(pixmap)# 讓圖片自適應(yīng)label大小self.imgLabel.setScaledContents(True)try:# 識別名片圖片返回識別結(jié)果content = self.recgImg()except:QMessageBox.information(self, '提示信息', '識別錯誤請重新選擇圖片')# 識別圖片的數(shù)據(jù)賦值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"# 二進(jìn)制方式打開圖片文件f = open(self.download_path[0], 'rb')img = base64.b64encode(f.read())params = {"image": img}# access_token = '[調(diào)用鑒權(quán)接口獲取的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應(yīng)用都必須創(chuàng)建一個應(yīng)用對象app = QApplication(sys.argv)# 初始化頁面window = parentWindow()# 顯示首頁window.show()sys.exit(app.exec_())總結(jié)
這款寶藏神器:掃一掃就能文字識別、So easy!感興趣的小伙伴二找我來拿源碼吧~
關(guān)注小編獲取更多精彩內(nèi)容!
?制作不易,記得一鍵三連哦!!?如需打包好的源碼+素材免費分享滴!!傳送門
?
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的【文字识别小程序】快速识别文字,一款用了就再也离不开的宝藏神器~(出道即巅峰永久免费)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Pygame小游戏】这款休闲游戏你肯定
- 下一篇: 《极速切水果游戏》有Python版了,曾