Python自动保存图片IO

本文将详细介绍如何使用Python进行自动保存图片的输入输出操作。

一、图像的读取与展示

1、使用Python的OpenCV库读取图像。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 展示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

2、使用Matplotlib库展示图像。

import matplotlib.pyplot as plt
import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 将BGR格式转换为RGB格式
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# 展示图像
plt.imshow(image_rgb)
plt.axis('off')
plt.show()

二、图像的保存

1、使用OpenCV库保存图像。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 保存图像
cv2.imwrite('saved_image.jpg', image)

2、使用PIL库保存图像。

from PIL import Image

# 读取图像
image = Image.open('image.jpg')

# 保存图像
image.save('saved_image.jpg')

三、图像的压缩与优化

1、使用OpenCV库对图像进行压缩。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 设置压缩质量
quality = 90

# 获取图像的尺寸
width, height = image.shape[:2]

# 设置新的尺寸
new_width = int(width * 0.5)
new_height = int(height * 0.5)

# 压缩图像
compressed_image = cv2.resize(image, (new_width, new_height), interpolation=cv2.INTER_AREA)

# 保存压缩后的图像
cv2.imwrite('compressed_image.jpg', compressed_image, [int(cv2.IMWRITE_JPEG_QUALITY), quality])

2、使用Pillow库对图像进行优化。

from PIL import Image

# 读取图像
image = Image.open('image.jpg')

# 优化图像
optimized_image = image.convert("RGB")

# 保存优化后的图像
optimized_image.save('optimized_image.jpg')

四、图像的加水印

使用OpenCV库给图像添加水印。

import cv2
import numpy as np

# 读取图像
image = cv2.imread('image.jpg')

# 创建水印
watermark = np.zeros(image.shape, dtype=np.uint8)
watermark.fill(255)

# 添加水印
result = cv2.addWeighted(image, 1, watermark, 0.5, 0)

# 保存带水印的图像
cv2.imwrite('watermarked_image.jpg', result)

五、图像的裁剪和旋转

1、使用OpenCV库对图像进行裁剪。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 定义裁剪区域的起始坐标和终止坐标
x_start, y_start = 100, 100
x_end, y_end = 300, 300

# 裁剪图像
cropped_image = image[y_start:y_end, x_start:x_end]

# 保存裁剪后的图像
cv2.imwrite('cropped_image.jpg', cropped_image)

2、使用OpenCV库对图像进行旋转。

import cv2
import numpy as np

# 读取图像
image = cv2.imread('image.jpg')

# 定义旋转角度和旋转中心
angle = 45
center = (image.shape[1] // 2, image.shape[0] // 2)

# 获取旋转矩阵
rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0)

# 执行旋转操作
rotated_image = cv2.warpAffine(image, rotation_matrix, (image.shape[1], image.shape[0]))

# 保存旋转后的图像
cv2.imwrite('rotated_image.jpg', rotated_image)

六、图像的滤波和边缘检测

1、使用OpenCV库对图像进行滤波。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 使用均值滤波
blurred_image = cv2.blur(image, (5, 5))

# 保存滤波后的图像
cv2.imwrite('blurred_image.jpg', blurred_image)

2、使用OpenCV库对图像进行边缘检测。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 将图像转换为灰度图像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 使用Canny算法进行边缘检测
edges = cv2.Canny(gray_image, 100, 200)

# 保存边缘检测后的图像
cv2.imwrite('edges_image.jpg', edges)

以上就是使用Python进行自动保存图片IO的相关操作,包括图像的读取与展示、保存、压缩与优化、加水印、裁剪和旋转、滤波和边缘检测等。希望本文能为您提供参考和帮助!

原创文章,作者:BMPC,如若转载,请注明出处:https://www.beidandianzhu.com/g/6876.html

(0)
BMPC的头像BMPC
上一篇 2025-01-06
下一篇 2025-01-06

相关推荐

  • 免费Python资料分享

    Python是一门非常受欢迎的编程语言,因其简洁、易学和灵活而备受开发者喜爱。免费的Python资料分享在帮助人们学习和提升Python编程技能方面起到了重要作用。本文将从多个方面…

    程序猿 2024-12-22
  • Python中的路径设置

    路径设置在开发中是非常重要的,特别是在处理文件、读写数据等情境下。本文将围绕Python中的路径设置展开,从不同方面进行详细解释和阐述。 一、绝对路径和相对路径 1、绝对路径 绝对…

    程序猿 2024-12-17
  • Python评分卡M1

    本文将详细介绍Python评分卡M1,包括其定义、功能和使用方法。 一、评分卡简介 评分卡是一种用于评估个体信用风险等级的工具,通过建立一系列评分项,对每个评分项进行权重赋值,并根…

    程序猿 2024-12-23
  • Python中另一个窗口的使用

    Python中的另一个窗口通常指的是图形用户界面(GUI)。GUI允许用户通过可视化的方式与程序交互,提供了更友好和直观的用户体验。本文将从多个方面介绍如何在Python中使用另一…

    程序猿 2024-12-17
  • Python人脸识别技术

    人脸识别是一种生物特征识别技术,通过分析和识别人脸的形状、姿势和纹理等特征,进行身份验证或者鉴别。Python作为一种广泛应用的编程语言,在人脸识别领域也有着丰富的应用。本文将从多…

    程序猿 2024-12-31
  • Python中有私有变量吗?

    对于Python这种面向对象的编程语言来说,私有变量是一种用于限制访问的概念。私有变量是指只能在类内部访问的变量,外部无法直接访问。Python中虽然没有严格的私有访问机制,但可以…

    程序猿 2024-12-20
  • 学Python培训有哪些优势和必要性

    Python作为一门高级编程语言,拥有广泛的应用领域和强大的生态系统,因此学习Python培训具有很大的优势和必要性。本文将从多个方面介绍学Python培训的优势和必要性。 一、P…

    程序猿 2024-12-23
  • Python高版本使用低版本库

    Python是一种非常流行的编程语言,具有丰富的第三方库和模块。然而,随着Python的不断发展,库的版本也在不断更新。有时候,我们可能需要在Python的高版本中使用低版本的库。…

    程序猿 2024-12-23
  • Python学习笔记本

    Python学习笔记本是一个可以帮助我们记录Python学习过程的工具。本文将从多个方面介绍Python学习笔记本的功能和使用方法。 一、笔记记录 在学习Python的过程中,我们…

    程序猿 2024-12-31
  • Python添加XML属性

    Python是一种广泛使用的编程语言,具有强大的处理和操作XML的能力。在Python中,我们可以通过各种库和模块来添加、修改和删除XML属性。本文将从多个方面介绍如何使用Pyth…

    程序猿 2024-12-29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部