图⽚读取:Image.open(ImgPath)
from PIL import Image
利⽤ img = Image.open(ImgPath) 打开的图⽚是PIL类型的,它⾃带resize函数。由于pytorch的顺序是(batch,c,h,w),所以需要进⾏PIL 类型到numpy类型转换,tensorflow,numpy的顺序是(batch,h,w,c):
# Load Image
img_fn = os.path.join(self.input_path, filenames)
img = Image.open(img_fn)# RGB(默认)
# img.show()
# resize/crop if needed:[128*128*3]
if self.input_size !=0:
height = width = self.input_size
img = size((height, width), Image.BILINEAR)
# 将PIL类型转化成numpy类型
img = np.array(img).uint8()# H*W*C
或
# Load Image
img_fn = os.path.join(self.input_path, filenames)
img = Image.open(img_fn)# RGB(默认)
# img.show()
# 将PIL类型转化成numpy类型
img = np.array(img).uint8()# H*W*C
resize函数c++# resize/crop if needed:[128*128*3]
if self.input_size !=0:
height = width = self.input_size
img = size(img, height, width)
def resize(self, img, height, width, centerCrop=True, interp='bilinear'):
imgh, imgw = img.shape[0:2]
if centerCrop and imgh != imgw:
# center crop
side = np.minimum(imgh, imgw)
j =(imgh - side)//2
i =(imgw - side)//2
img = img[j:j + side, i:i + side,...]
# 改变图像⼤⼩并且隐藏归⼀化到0-255区间的操作
img = scipy.misc.imresize(img,[height, width], interp=interp)
return img
from scipy.misc import imread
利⽤ img = imread(ImgPath) 打开的图⽚虽然是numpy类型的,并且也是RGB格式。但是由于 scipy 在版本1.3.0后就取消了imread函数,如果下载低版本的scipy会与tensorflow出现各种不兼容现象,挺⿇烦的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论