PIL的图片:HWC(Height×Weight×Channel)格式,其中Channel为RGB格式,图片默认类型为uint8
opencv的图片:HWC(Height×Weight×Channel)格式,其中Channel为BGR格式,图片默认类型为uint8
pytorch的图片:CHW格式(Channel×Height×Weight)格式,其中Channel为RGB格式,图片默认类型为uint8
tensorflow的图片:HWC(Height×Weight×Channel)格式,其中Channel为RGB格式,图片默认类型为uint8
在图片进行读取时一般用cv2、PIL读取,而其读取格式是uint8类型,我们在进行计算(深度学习模型的训练与推理)时应转变为float32来避免计算溢出得到我们所不期望的值,最后再保存计算后的图片时我们再转为float32即可(读取:uint8 -> 运算:float32 -> 保存:uint8)
使用OpenCV读取图像,返回的图像对象的常见属性为:
shape:表示图像的尺寸,通常为一个三元组,其中第一个元素是图像的高度,第二个元素是图像的宽度,第三个元素是图像的通道数(对于灰度图像,通道数为1,对于彩色图像,通道数为3)。
dtype:表示图像的数据类型,通常为uint8,即无符号8位整数。
size:表示图像的像素数量,即高度乘以宽度。
ndim:表示图像的维度,对于灰度图像,维度为2,对于彩色图像,维度为3。
使用PIL库读取图像,返回的图像对象的常见属性为:
size:表示图像的尺寸,通常为一个二元组,其中第一个元素是图像的宽度,第二个元素是图像的高度。
mode:表示图像的模式,通常为一个字符串,表示图像的颜色空间和像素深度,例如,L表示灰度图像,RGB表示彩色图像。
format:表示图像的格式,通常为一个字符串,表示图像的文件格式,例如,JPEG表示JPEG格式,PNG表示PNG格式。
info:表示图像的元数据,通常为一个字典,包含了图像的一些额外信息,例如,图像的创建时间、作者等。
保存图片要先转为numpy类型(gpu要先转cpu,再转numpy)->可以用vutils.save_image直接把一个tensor保存为图片