在这个信息化快速发展的时代,高效的信息处理变得尤为关键。Python,作为一门强大的编程语言,其灵活性以及多样的库函数,使其成为处理信息不可或缺的利器。在此背景下,我决定分享我对其中两个实用Python库——Pyperclip和CnOCR的理解和使用,以帮助大家在日常工作和学习中提高效率。
首先,我们将会详细探讨Pyperclip,这是一个简洁高效的跨平台剪贴板库,让我们可以轻松地在Python代码和系统剪贴板之间传输文本数据。随后,我们将介绍OCR技术及其在Python中的应用,尤其是CnOCR库的强大功能,它使我们能够从各种类型的图像中识别出文字信息。
希望通过我的分享,你们可以发现Python更多的可能性,并将其应用到创造性和生产性工作中。让我们一起开启这一串联计算机视觉与自动化办公的探索之旅吧!
一、Pyperclip概念
Pyperclip 是一个用于复制和粘贴文本的 Python 库。它允许用户在剪贴板之间传输数据,并支持多种数据类型,如文本、二进制数据等。Pyperclip 可以在 Windows、macOS 和 Linux 等操作系统上使用,并且具有跨平台兼容性。 使用 Pyperclip,你可以轻松地将文本从屏幕上复制到剪贴板,或将文本从剪贴板粘贴到屏幕上。
要使用Pyperclip,请在控制台输入以下指令:
pip install pyperclip
二、Pyperclip基础语法
#copy:将文本复制到剪贴板 pc.copy("Hello World") pc.copy("你好") #paste:从剪贴板获取文本 pc.copy("你好") re_copy = pc.paste() print(re_copy)
三、Pyperclip与文件交互
本文展示了两种文件展开方式:
#与文件交互,从剪切板上获取内容,写到文件中 f=open("E:\测试.txt","w",encoding="utf-8") f.write(pc.paste()) #与文件交互,从文件上获取内容,写到剪切版中 with open("test.txt","r",encoding="utf-8") as f: pc.copy(f.read()) print(pc.paste())
四、Pyperclip生成随机密码
#生成随机密码 import random #popuration:从总体中随机抽取一个样本 #k:从总体中随机抽取k个样本 re_password = "".join(random.sample("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",8)) pc.copy(re_password) print(re_password)
五、OCR概念
OCR(Optical Character Recognition,光学字符识别)是一种通过计算机分析扫描得到的图像以识别汉字、英文和数字等字符的技术。OCR 技术被广泛应用于金融、教育、安防等领域。
本专栏选用CoOCR
官网:https://cnocr.readthedocs.io/zh/latest/
六、CnOCR 基础识别
# 导入CnOcr类 from cnocr import CnOcr # 设置图像路径 img_fp=r"E:\b.webp" # 创建CnOcr对象 ocr = CnOcr() # 读取图像 out = ocr.ocr(img_fp) print(out) #返回列表类型[{},{}]
七、CnOCR 不同图片识别
#单排文字图片识别 img_fp=r"E:\b.webp" ocr = CnOcr() out = ocr.ocr(img_fp) for line in out: print(line) #多排简单文字图片识别 img_fp=r"E:\simple2.png" ocr = CnOcr(det_model_name='naive_det') out = ocr.ocr(img_fp, cls=True) print(out) #竖排文字图片识别 img_fp=r"E:\vertical.jpg" ocr = CnOcr(rec_model_name='ch_PP-OCRv3') out = ocr.ocr(img_fp, cls=True) print(out) #多行文字图片识别 img_fp=r"E:\multi.jpg" ocr = CnOcr(rec_model_name='ch_PP-OCRv3') out = ocr.ocr(img_fp, cls=True) print(out) #繁体字识别 img_fp=r"E:\繁体字.jpg" ocr = CnOcr(rec_model_name='ch_PP-OCRv3') out = ocr.ocr(img_fp, cls=True) print(out) #英文识别 img_fp=r"E:\en.jpg" ocr = CnOcr(rec_model_name='‘en_gpr_server_v2.0’') out = ocr.ocr(img_fp, cls=True) print(out) #多语言识别 img_fp=r"E:\multi_language.jpg" ocr = CnOcr(rec_model_name='multi_language_lite_train') out = ocr.ocr(img_fp, cls=True) print(out)