Pillow 图像常见属性

im.width  		# 宽度
im.height  		# 高度
im.size  		# 尺寸(宽和高),是一个元组
im.mode  		# 模式,如RGB, RGBA, P, L等
im.format  		# 格式,如.jpg .png等
im.readonly  	# 是否只读,值为0或1
im.category  	# 类别
im.info  		# 图片的信息,是一个字典

三、图片的模式

在这里插入图片描述
1位像素的范围是0-1,0表示黑1表示白,中间表示灰。8位像素的范围是0-255,如RGB的(0, 0, 0)表示黑,(255, 255, 255)表示白,依此类推。


.convert 模式转换

from PIL import Image
  
image = Image.open("santa.jpg")
print(image.mode)
image1 = image.convert('1')
print(image1.mode)
# image1.show()
image_l = image.convert('L')
print(image_l.mode)
# image_l.show()
image_p = image.convert('HSV')
print(image_p.mode)
image_p.show()

调色板

如果图像的模式是“P”,则返回Image Palette类的实例;否则,将为None
from PIL import Image

im = Image.open("picture.jpg")
print(im.palette)

mask可视化

对于可视化则比较简单,因为不需要考虑模式问题,可以使用OpenCV也可以使用PIL的方式:

# OpenCV方式:
image = cv2.imread('cat.jpg')
mask = cv2.imread('mask.png')
mask_img = cv2.addWeighted(image, 0.5, mask, 0.7, 0.9)
cv2.imwrite("vis.jpg", mask_img)
 
# PIL方式:
image = Image.open('cat.jpg')
mask = Image.open('mask.png')
mask_img = Image.blend(image.convert('RGBA'), mask.convert('RGBA'), 0.7)
mask_img.save("vis2.png")


参考

  • https://blog.csdn.net/oYeZhou/article/details/111934432
  • https://zhuanlan.zhihu.com/p/496626220
  • https://www.jianshu.com/p/26d583aeb3d3
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐