用Python实现连续图文识别
1.工具:
1.1 剪切板。我下载并安装使用的是剪切板查看器(clipbrd.exe),成功后显示“剪贴薄查看器.exe”
1.2 截图工具并设置热键。保存图片键和退出键可任意设置,注意不能同其它热键冲突。我使用的是微信截图,进入设置---进入快捷按键---把截取屏幕键改为F1。
1.3 Python 3.x,Windows环境
1.4 注册百度云帐号,获取Appid API Key Secret Key
1.5 新建文件夹。我建的名叫‘图文识别’文件夹(C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\图文识别)
1.6 ‘图文识别’文件夹下,有3个.py文件,分别是:screenshot.py baiduap.py getText.py;有1个配置文本文件是password.ini;有个图像文件是Picture.png。
1.7 需要有以下第三方库:keyboard、PIL、aip、configparser、win32con、win32clipboard。
2 完整代码:
2.1 screenshot.py是主程序,可独立运行,主要功能为截图并保存。
""" 本程序可独立运行,主要功能是截图并保存"""
import sys
from time import sleep
import keyboard
from PIL import ImageGrab #pillow
from baiduap import BaiDuAPI
from getText import GetTextdef screenShot():"""用于截图并保存"""print('请按F1开始截图')if keyboard.wait(hotkey='f1')==None:print('复制剪切板的图片,请按Ctrl+b,不复制继续截图')if keyboard.wait(hotkey='Ctrl+b')==None:sleep(0.02) #防止获取的是上一张截图#复制剪贴板里面的图片im=ImageGrab.grabclipboard()im.save('Picture.png')if __name__=='__main__':baiduapi=BaiDuAPI('password.ini')for _ in range(sys.maxsize):screenShot()texts=baiduapi.picture2Text('Picture.png') print(texts)GetText.setText(texts) #剪贴板剪贴sleep(0.02)GetText.getText()print('退出请按Ctrl+x') if keyboard.wait(hotkey='Ctrl+x')==None:name=input('请输入保存图像识别文字文件名:')f=open(name+'.txt','w')f.write(texts)f.close()break
2.2 baiduap.py 程序可独立使用,主要功能是图像文字识别。
from aip import AipOcr
import configparserclass BaiDuAPI:"""图片文字识别"""#初识化方法def __init__(self,filePath): #self 就是BaiDuAPI()#读取工单信息target=configparser.ConfigParser()target.read(filePath)app_id=target.get('我的工单','App_ID')app_key=target.get('我的工单','App_KEY')secret_key=target.get('我的工单','SECRET_KEY')self.client=AipOcr( app_id, app_key,secret_key)def picture2Text(self,filePath):#读取图片image=self.getPicture(filePath)texts=self.client.basicGeneral(image)#print(texts['words_result'])allTexts=''for word in texts['words_result']:allTexts=allTexts+word.get('words','')return allTexts@staticmethod def getPicture(filePath):with open(filePath,'rb') as fp:return fp.read()if __name__=='__main__':baiduapi=BaiDuAPI('password.ini')print(baiduapi.picture2Text('Picture.png'))
2.3 getText.py 程序,主要功能是把图像识别出来的文字,保存到剪切板。
import sys
import os.path
import win32clipboard as w
import win32con class GetText:def getText():#读取剪切板 w.OpenClipboard() d = w.GetClipboardData(win32con.CF_TEXT) w.CloseClipboard() return d def setText(aString):#写入剪切板 w.OpenClipboard() w.EmptyClipboard() w.SetClipboardText(aString) w.CloseClipboard() if __name__=='__main__': GetText.setText('布衣弓长')GetText.getText()
2.4 password.ini 文件,用记事本编写,把百度云获取的相关信息填进去。内容是:
[我的工单];节
App_ID=151313**
App_KEY=1V2LlBhLUYaHu2Y9*******
SECRET_KEY=fGufC1CbiZ0tw1imTGoIsaGO******
3.运行。启动qq和剪贴薄查看器.exe,在python环境下运行screenshot.py。
经实测:识别率高,能快速抓取多图,但每运行一次程序,只能识别保存在Picture.png文件里图像的文字。
用Python实现连续图文识别相关推荐
- python显示图片不连续_python实现连续图文识别
本文实例为大家分享了python实现连续图文识别的具体代码,供大家参考,具体内容如下 1.工具: 1.1 剪切板.我下载并安装使用的是剪切板查看器(clipbrd.exe),成功后显示"剪贴 ...
- python:ocr图文识别(百度智能云API文字识别)
文章目录 前言 一.创建账号和应用 二.具体步骤 1.第一种方式: 2.第二种方式 总结 前言 说道OCR图文识别,其实python也有在自己的库(以下是我了解,应该还有很多): 第一个 tesser ...
- 宝可梦 图片识别python_初探利用Python进行图文识别(OCR)
话说什么是OCR????? 简介 OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据.报刊.书籍.文稿及其它印刷品的文字转 ...
- tesseract安装使用,人工智,图文识别验证码 系统操作(python)
这两天自学关于自我感觉很牛的图文识别系统,给你一张图片可以扫描其中的文字(是不是很牛嘿嘿!!!),以下是我在学习过程中所遇到的一点问题.先前在学习之前肯定是安装各种文件,各种包--(头痛--),查过各 ...
- python 百度云api_Python——调用百度云API实现图文识别
这是奔跑的键盘侠的第117篇文章 前几天写的一篇<按键精灵二三事系列第九篇--图文识别+发邮件>,有小伙伴留言说,可以直接调用百度云平台AI的OCR图文识别接口,不用自己单独做字库.于是就 ...
- python爬虫教程下载-Python爬虫文件下载图文教程
而今天我们要说的内容是:如果在网页中存在文件资源,如:图片,电影,文档等.怎样通过Python爬虫把这些资源下载下来. 1.怎样在网上找资源: 就是百度图片为例,当你如下图在百度图片里搜索一个主题时, ...
- Python+Opencv简易车牌识别(二):形态学运算,HSV颜色空间筛选与图像分割
注:这是依然一个简单的车牌识别demo 1.前言 在上一篇Python+Opencv简易车牌识别(一):基于HSV颜色空间的图像分割中,我们讲了如何仅基于颜色来进行简单粗暴的车牌分割.今天我们考虑对图 ...
- python代码标识码_代码分享:使用Python和Tesseract来识别图形验证码
原标题:代码分享:使用Python和Tesseract来识别图形验证码 *本文原创作者:ipenox,本文属FreeBuf原创奖励计划,未经许可禁止转载 各位在企业中做Web漏洞扫描或者渗透测试的朋友 ...
- python怎么下载教程-Python爬虫文件下载图文教程
而今天我们要说的内容是:如果在网页中存在文件资源,如:图片,电影,文档等.怎样通过Python爬虫把这些资源下载下来. 1.怎样在网上找资源: 就是百度图片为例,当你如下图在百度图片里搜索一个主题时, ...
最新文章
- 招聘|华为诺亚方舟实验室AI算法实习生
- SpringCloud微服务云架构构建B2B2C电子商务平台简介
- 如何在阿里云上使用Data Lake Analytics分析Table Store数据
- 在cmd中使用python使用pip报错invalid syntax
- FPGA学习之FIFO
- 哈佛大学单细胞课程|笔记汇总 (三)
- 【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历
- HTML 5 画布
- c++ 字符减去‘0’_字符串为什么减‘0’成整数
- MySQL中select * for update锁表的范围
- 常用的ASCII码值
- android助手最新版本,Android 开发助手功能及版本介绍
- 【汽车冷却胶管】的试验研究检测及质量改进方法
- 【学习目录】支持向量机原理网络资料整理
- 目标检测Anchor是什么?怎么科学设置?人人都能彻底搞懂的Anchor深度解析
- 学习记录609@python实现数据样本的过采样与欠采样
- Maven打包自定义MANIFEST.MF键值对
- 福州一般拍一套婚纱照要多少钱
- # CSS 背景设置
- 滑雪(广搜+记忆数组+STL)