0. 读 存
Image 模块提供了 open() 函数打开图片档案,Image 类则提供了 save() 方法将图片实例保存为图片档案。
save() 函数可以以特定的图片格式保存图片档案。比如 save(‘target.jpg’, ‘JPG’) 将会以 JPG 格式将图片示例保存为 target.jpg。不过,大多数时候也可以省略图片格式。此时,save() 方法会根据文件扩展名来选择相应的图片格式。
我们以一个转换图片格式的脚本进行分析。
import os, sys
from PIL import Image
infile = '1.jpg'
f, e = os.path.splitext(infile)
Image.open(infile).save(outfile)
1. PIL image转换成array
img = np.asarray(image)
img = np.array(image) ?
需要注意的是,如果出现read-only错误,并不是转换的错误,一般是你读取的图片的时候,默认选择的是"r","rb"模式有关。
修正的办法: 手动修改图片的读取状态
img.flags.writeable = True # 将数组改为读写模式
2. array转换成image
img = Image.fromarray(np.uint8(img))
img = Image.fromarray(img.astype('uint8')).convert('RGB')
3.shape
当使用PIL.Image.open()打开图片后,如果要使用img.shape函数,需要先将image形式转换成array数组
4.PIL transpose
transpose有这么几种模式FLIP_LEFT_RIGHT ,FLIP_TOP_BOTTOM ,ROTATE_90 ,ROTATE_180 ,ROTATE_270,TRANSPOSE ,TRANSVERSE
eg. img.transpose(Image.FLIP_LEFT_RIGHT )
example:https://www.cnblogs.com/huipengbo/p/9774747.html
比较:numpy transpose
import numpy as np
arr=np.arange(16).reshape(2,2,4)
arr.transpose(2,0,1)
transpose(2,0,1)就是读入第三维的数作为第一维的值,读入第一维的数作为第二维,读入第二维的数作为第三维,如果再高维,就再按照输入的读取顺序来读
5.Image_name.rotate 图象旋转:
nearest neighbour
Image.BILINEAR:linear interpolation
Image.BICUBIC:cubic spline interpolation
Image.LANCZOS:a high-quality downsa
参考:
https://www.twblogs.net/a/5c2245eabd9eee16b4a775c9(常见操作)
https://blog.csdn.net/ybcrazy/article/details/81206411
https://blog.csdn.net/qq_30159015/article/details/80070514
http://www.manongjc.com/article/45803.html
pytorch 模型保存,权重保存,导入,权重的结构,预训练权重导入(模型一致/模型部分一致)
torch.manual_seed(args.seed)https://blog.csdn.net/zh515858237/article/details/83901179
https://blog.csdn.net/GeorgeAI/article/details/81035422
glob
https://www.cnblogs.com/wainiwann/archive/2012/05/09/2493414.html
gdal