第三章 解析python中opencv,matpoltlib与pillow对JPG和PNG读取和写入(工具)

简介

特性 OpenCV Matplotlib Pillow
文件读写 cv2.imread/imwrite plt.imread/imsave Image.open/save
颜色空间 BGR RGB RGB
透明度支持 仅 PNG PNG 和 JPG PNG 和 JPG
压缩 有损 无损 有损/无损
适用场景 图像处理/分析 图像显示/可视化 图像处理/编辑

opencv

python 复制代码
import cv2

# 打开PNG图片文件
png_image = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)  # 使用cv2.IMREAD_UNCHANGED标志以保持透明度信息
# 打开JPG图片文件
jpg_image = cv2.imread('image.jpg')

# 创建新的图像(例如:创建一个黑色的200x200图片)
import numpy as np
new_image = np.zeros((200, 200, 3), dtype=np.uint8)  # 创建一个全为黑色的图像

# 保存PNG图像
cv2.imwrite('new_image.png', new_image)  
# 保存JPG图像
cv2.imwrite('new_image.jpg', new_image)

matplotlib

python 复制代码
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np

# 打开PNG图片文件
png_image = mpimg.imread('image.png')
plt.imshow(png_image)
plt.axis('off')  # 关闭坐标轴
plt.savefig('saved_image.png', bbox_inches='tight', pad_inches=0)  # 保存为PNG格式

# 打开JPG图片文件
jpg_image = mpimg.imread('image.jpg')
plt.imshow(jpg_image)
plt.axis('off')  # 关闭坐标轴
plt.savefig('saved_image.jpg', bbox_inches='tight', pad_inches=0)  # 保存为JPG格式

# 创建一个新的图像(例如:创建一个红色的200x200图像)
new_image = np.zeros((200, 200, 3), dtype=np.uint8)
new_image[:, :] = [255, 0, 0]  # 将新图像设为红色

# 保存新图像为PNG格式
plt.imshow(new_image)
plt.axis('off')  # 关闭坐标轴
plt.savefig('new_image.png', bbox_inches='tight', pad_inches=0)

# 保存新图像为JPG格式
plt.imshow(new_image)
plt.axis('off')  # 关闭坐标轴
plt.savefig('new_image.jpg', bbox_inches='tight', pad_inches=0)

pillow

python 复制代码
from PIL import Image

# 打开PNG图片文件
png_image = Image.open('image.png')

# 打开JPG图片文件
jpg_image = Image.open('image.jpg')

# 创建新的图像(例如:创建一个红色的200x200图像)
new_image = Image.new('RGB', (200, 200), color = (255, 0, 0))

# 保存PNG图像
new_image.save('new_image.png')

# 保存JPG图像
new_image.save('new_image.jpg')
相关推荐
Jay20021114 分钟前
【机器学习】27 异常检测(密度估计)
人工智能·机器学习
ziwu10 分钟前
【岩石种类识别系统】Python+TensorFlow+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
AI即插即用18 分钟前
即插即用系列 | CVPR SwiftFormer:移动端推理新王者!0.8ms 延迟下 ImageNet 78.5% 准确率,吊打 MobileViT
图像处理·人工智能·深度学习·目标检测·计算机视觉·cnn·视觉检测
得贤招聘官36 分钟前
AI招聘:HR领域的智能化变革与行业趋势
人工智能
ziwu1 小时前
【中草药识别系统】Python+TensorFlow+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
c#上位机1 小时前
halcon图像去噪—导向滤波
图像处理·人工智能·计算机视觉·c#·halcon
行云流水20001 小时前
青少年编程学习:考级与竞赛结合提升能力的方法
人工智能·学习·青少年编程
Blossom.1181 小时前
基于多智能体强化学习的云资源调度系统:如何用MARL把ECS成本打下来60%
人工智能·python·学习·决策树·机器学习·stable diffusion·音视频
Coding茶水间2 小时前
基于深度学习的苹果病害检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
蓝域小兵2 小时前
齐次方程组和非齐次方程组有什么区别
人工智能·算法·机器学习