如果使用skimage读取图像,得到的结果顺序是(高**宽*通道数)
from skimage import io
image = io.imread(r"F:\vGG\niu.png")
输出为:(227, 227, 4)
如果使用opencv读取图像,输出结果的顺序也是(高**宽*通道数)
import cv2
image=cv2.imread(r"F:\vGG\niu.png")
print(image.shape)
输出结果为:(227, 227, 3),其实结果有问题,说明cv只能读取三个通道的图像,而且cv会将灰度数据压缩到0-255之间,这一点属实恶心。skimage就不会出现这种情况。
如果使用gdal读取图像那么输出结果就是(通道数高宽),并且可以读出全部的通道数。(ch*w),总是忘记,总是出错,这次一定把他记住20210825
代码不予展示
注:高是图像的行数,宽是图像的列。
注:写程序时经常忘记这个,所以写下来了。
注:pytorch需要的数据是(batch通道数高*宽),batch是一批次处理的图像个数,但是用gdal读取太麻烦,还是建议skimage,不建议opencv,转化一下顺序就行了。