from PIL import Image
# 打开图像
img = Image.open("example_image.png") # 替换为您的图像文件路径
# 获取当前图像的尺寸
size = img.size # size 是一个元组 (宽度, 高度)
# 将图像尺寸加倍
img = img.resize((size[0] * 2, size[1] * 2), Image.LANCZOS)
# 保存或显示调整大小后的图像
img.save("resized_image.png") # 保存调整后的图像
img.show() # 显示调整后的图像
#size[0]:图像宽度,size[1]图像高度
#Image.LANCZOS 是 Pillow 中的一种重采样滤波器,用于图像缩放。LANCZOS 滤波器是一种高质量的重采样技术,适合用于图像缩放,尤其是在将图像放大时。
#使用LANCZOS滤波器可以使图像在调整大小时保持较高的质量,减少锯齿和模糊现象
python
import numpy as np
import cv2
from PIL import Image
# 假设 img 是一个 PIL 图像对象
img = Image.open("example_image.png") # 替换为您的图像文件路径
# 将 PIL 图像转换为 NumPy 数组并从 RGB 转换为 BGR
image_cv2 = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow("Image in BGR", image_cv2)
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows()
#图像RGB转BGR(opencv默认为BGR顺序)
#使用 NumPy 库的 asarray 函数将图像对象 img 转换为 NumPy 数组
#不同库对颜色通道的排序不同,PIL默认使用RGB, openv使用BGR
import base64
from io import BytesIO
from PIL import Image
# 假设这是一个 Base64 编码的图像字符串(省略前缀部分)
img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." # 省略部分
# 从 Base64 字符串中提取实际的编码部分
img_data = img.split(",")[1] # 去掉前面的数据类型前缀
# 解码 Base64 编码的图像
image = base64.b64decode(img_data)
# 将解码后的二进制数据转换为字节流
image = BytesIO(image)
# 打开图像
image = Image.open(image)
# 显示图像
image.show()