Python办公自动化 – 对图片处理和文件的加密解密
Python办公自动化 – 对图片处理和文件的加密解密
以下是往期的文章目录,需要可以查看哦。
Python办公自动化 – Excel和Word的操作运用
Python办公自动化 – Python发送电子邮件和Outlook的集成
Python办公自动化 – 对PDF文档和PPT文档的处理
Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务
Python办公自动化 – 对CSV文件运用和管理文件 / 文件夹
Python办公自动化 – 对数据进行分析和制作图表数据
文章目录
前言
Python办公?动化是利用Python编程语?来创建脚本和程序,以简化、加速和?动化?常办公任务和工作流程的过程。它基于Python的强?功能和丰富的第三?库,使得能够处理各种办公任务,如?档处理、数据分析、电?邮件管理、?络通信等等。
一、使用Python进行图片处理
要使用Python进?图?处理,可以使用第三方图像处理库,如Pillow(PIL)或OpenCV。
?些常见的图片处理任务以及如何使用这些库来执行他们的示例:
1、安装所需的库
# 使?Pillow库:
pip install Pillow
# 使?OpenCV库:
pip install opencv-python
2、图像加载和保存
使?Pillow或OpenCV加载图像并将其保存到?件中。
# 使?Pillow:
from PIL import Image
# 打开图像?件
img = Image.open('image.jpg')
# 保存图像
img.save('output_image.jpg')
# 使?OpenCV:
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 保存图像
cv2.imwrite('output_image.jpg', img)
3、 调整图像大小
调整图像的大小,可以使用Pillow或OpenCV来缩放或裁剪图像。
from PIL import Image
# 打开图像?件
img = Image.open('image.jpg')
# 调整??
resized_img = img.resize((width, height))
# 保存调整??后的图像
resized_img.save('resized_image.jpg')
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 调整??
resized_img = cv2.resize(img, (width, height))
# 保存调整??后的图像
cv2.imwrite('resized_image.jpg', resized_img)
4、图像滤镜和效果
应?滤镜和效果来改变图像的外观。
from PIL import Image, ImageFilter
# 打开图像?件
img = Image.open('image.jpg')
# 应?模糊滤镜
blurred_img = img.filter(ImageFilter.BLUR)
# 保存模糊滤镜效果的图像
blurred_img.save('blurred_image.jpg')
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 应?模糊滤镜
blurred_img = cv2.GaussianBlur(img, (kernel_size, kernel_size), 0)
# 保存模糊滤镜效果的图像
cv2.imwrite('blurred_image.jpg', blurred_img)
5、图像处理和分析
使?OpenCV进行更?级的图像处理任务,如边缘检测、对象检测、图像分割等。
import cv2
# 读取图像
image = cv2.imread('image.jpg', 0)
# 使用Canny算法进行边缘检测
edges = cv2.Canny(image, 100, 200)
# 显示边缘图像
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
# 加载预训练的对象检测模型
net = cv2.dnn.readNetFromCaffe('deploy.prototxt', 'model.caffemodel')
# 读取图像
image = cv2.imread('image.jpg')
# 对图像进行预处理
blob = cv2.dnn.blobFromImage(cv2.resize(image, (300, 300)), 1.0, (300, 300), (104.0, 177.0, 123.0))
# 将预处理后的图像输入到模型中进行对象检测
net.setInput(blob)
detections = net.forward()
# 遍历检测结果并绘制边界框
for i in range(detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
box = detections[0, 0, i, 3:7] * np.array([image.shape[1], image.shape[0], image.shape[1], image.shape[0]])
(startX, startY, endX, endY) = box.astype("int")
cv2.rectangle(image, (startX, startY), (endX, endY), (0, 255, 0), 2)
# 显示带有边界框的图像
cv2.imshow('Object Detection', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 使用GrabCut算法进行图像分割
mask = np.zeros(image.shape[:2], np.uint8)
bgdModel = np.zeros((1, 65), np.float64)
fgdModel = np.zeros((1, 65), np.float64)
rect = (50, 50, 450, 290)
cv2.grabCut(image, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)
# 提取前景区域
mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8')
segmented_image = image * mask2[:, :, np.newaxis]
# 显示分割结果
cv2.imshow('Segmented Image', segmented_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
以上是?些常见的图?处理任务和相应的Python代码示例。根据的具体需求,可以使用Pillow或OpenCV等库来执?各种图像处理任务。这些库提供了广泛的功能,以满足不同的图像处理需求。
二、Python对文件的加密和解密处理
要使?Python进行文件的加密和解密,可以使用第三?加密库,如cryptography或pycryptodome。
以下是?个基本的示例,演示如何使用cryptography库对文件进行加密和解密:
1、安装cryptography库
pip install cryptography:
2、文件加密
代码如下(示例):
from cryptography.fernet import Fernet
# ?成加密密钥
key = Fernet.generate_key()
cipher_suite = Fernet(key)
# 读取要加密的?件
with open('plain_file.txt', 'rb') as file:
plain_text = file.read()
# 加密?件内容
cipher_text = cipher_suite.encrypt(plain_text)
# 将加密后的内容写??件
with open('encrypted_file.txt', 'wb') as file:
file.write(cipher_text)
# 保存密钥?于解密
with open('encryption_key.key', 'wb') as key_file:
key_file.write(key)
3、文件解密
from cryptography.fernet import Fernet
# 从?件中加载密钥
with open('encryption_key.key', 'rb') as key_file:
key = key_file.read()
cipher_suite = Fernet(key)
# 读取要解密的?件
with open('encrypted_file.txt', 'rb') as file:
cipher_text = file.read()
# 解密?件内容
plain_text = cipher_suite.decrypt(cipher_text)
# 将解密后的内容写??件
with open('decrypted_file.txt', 'wb') as file:
file.write(plain_text)
在这个示例中,使?Fernet对文件进行加密和解密。?先,生成?个随机密钥,然后使用密钥对文件内容进?加密。加密后的内容和密钥都保存在文件中。然后,使用相同的密钥来解密文件内容。
请注意,文件加密和解密需要妥善保管密钥,因为只有拥有正确密钥的?才能解密?件。密钥丢失后,文件将无法解密。因此,请确保密钥的安全存储。此外,文件加密和解密是敏感操作,需要小新处理,确保不会丢失任何数据。
总结
以上就是今天分享的内容,希望对看到的小伙伴有帮助,后续会持续更新完python办公自动化的文章分享,可以持续关注哦。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!