简介
特性 |
OpenCV |
Matplotlib |
Pillow |
文件读写 |
cv2.imread/imwrite |
plt.imread/imsave |
Image.open/save |
颜色空间 |
BGR |
RGB |
RGB |
透明度支持 |
仅 PNG |
PNG 和 JPG |
PNG 和 JPG |
压缩 |
有损 |
无损 |
有损/无损 |
适用场景 |
图像处理/分析 |
图像显示/可视化 |
图像处理/编辑 |
opencv
import cv2
png_image = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)
jpg_image = cv2.imread('image.jpg')
import numpy as np
new_image = np.zeros((200, 200, 3), dtype=np.uint8)
cv2.imwrite('new_image.png', new_image)
cv2.imwrite('new_image.jpg', new_image)
matplotlib
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
png_image = mpimg.imread('image.png')
plt.imshow(png_image)
plt.axis('off')
plt.savefig('saved_image.png', bbox_inches='tight', pad_inches=0)
jpg_image = mpimg.imread('image.jpg')
plt.imshow(jpg_image)
plt.axis('off')
plt.savefig('saved_image.jpg', bbox_inches='tight', pad_inches=0)
new_image = np.zeros((200, 200, 3), dtype=np.uint8)
new_image[:, :] = [255, 0, 0]
plt.imshow(new_image)
plt.axis('off')
plt.savefig('new_image.png', bbox_inches='tight', pad_inches=0)
plt.imshow(new_image)
plt.axis('off')
plt.savefig('new_image.jpg', bbox_inches='tight', pad_inches=0)
pillow
from PIL import Image
png_image = Image.open('image.png')
jpg_image = Image.open('image.jpg')
new_image = Image.new('RGB', (200, 200), color = (255, 0, 0))
new_image.save('new_image.png')
new_image.save('new_image.jpg')