简介
特性 | OpenCV | Matplotlib | Pillow |
---|
文件读写 | cv2.imread/imwrite | plt.imread/imsave | Image.open/save |
颜色空间 | BGR | RGB | RGB |
透明度支持 | 仅 PNG | PNG 和 JPG | PNG 和 JPG |
压缩 | 有损 | 无损 | 有损/无损 |
适用场景 | 图像处理/分析 | 图像显示/可视化 | 图像处理/编辑 |
opencv
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 npnew_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
import matplotlib.pyplot as pltimport matplotlib.image as mpimgimport 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
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')