前言
不同方式读写图像的过程可能会出错,
【比如使用PIL保存,但使用skimage读取,数据会发生改变的,标签文件的标签就会发生改变】。这个问题后来发现是图像数据保存为jpg之后,再读取图像时候数据发生了改变。
不同数据类型之间的转换:
不同方式读写图像总结:
OpenCV读进来的是numpy数组,是uint8类型,0-255范围,图像形状是(H,W,C),读入的顺序是BGR,这点需要注意 PIL是有自己的数据结构的,类型是<class ‘PIL.Image.Image’>;但是可以转换成numpy数组,转换后的数组为unit8,0-255范围,图像形状是(H,W,C),读入的顺序是RGB skimage读取进来的图片是numpy数组,是unit8类型,0-255范围,图像形状是(H,W,C),读入的顺序是RGB matplotlib读取进来的图片是numpy数组,是unit8类型,0-255范围,图像形状是(H,W,C),读入的顺序是RGB
参考
1. pytorch DataLoader(1): opencv,skimage,PIL,Tensor转换以及transforms;
完