一、Numpy模块
import numpy as np
np.arange()
生成一维数据
numpy.arange(start, stop, step, dtype=None)
start:开始数字,默认为0
stop:停止数字(不输出该值),必填
step:步长,默认为1
np.reshape()
改变数组或矩阵的形状
numpy.reshape(array,(m,n),order)
array:要改变形状的数组或矩阵
(m,n):修改为m×n形状
order:设置为行优先还是列优先,order=‘c’为行优先,order=‘f’为列优先,默认为前者
np.transpose()
对输入的张量序列进行维度交换(对于numpy可以多个维度)
output=torch.transpose(input, dim0, dim1)
output=input.transpose(dim0, dim1)
np.expand_dims()
在某一数组的某一维度增加1维
import numpy as np
b=np.expand_dims(a, axis=0)
#在数组a的第0个位置增加一个维度
#eg:a形状为(2,2) 则b的形状为(1,2,2)
二、PIL模块
1.Image部分
from PIL import Image
Image.fromarray()
将数组转换为图像
Image.fromarray(array,mode='L')
array:二维numpy数组
mode:表示输出图像的模式,常用的模式有 “L” (灰度图), “RGB” (彩色图), “CMYK”
三、Pytorch模块
import torch
torch.arange()
torch.reshape()
torch.max()
获取最大值
torch.max(input, dim, max=None, max_indices=None,keepdim=False)
input:进行max操作的Tensor变量
dim:需要查找最大值的维度
max:结果张量,用于存储查找到的最大值
max_indices:结果张量,用于存储查找到最大值所处的索引
keepdim=False:返回值与原Tensor的size是否保持一致
torch.cat()
在指定维度上对输入的张量序列进行拼接
outputs = torch.cat(inputs, dim)
input:待连接的张量序列,可以是任意相同Tensor类型的序列
dim:沿此维度连接张量序列,必须在0到 len(inputs[0]) 之间
torch.transpose()
对输入的张量序列进行维度交换(对于torch只能两个维度)
output=torch.transpose(input, dim0, dim1)
output=input.transpose(dim0, dim1)
torch.permute()
对输入的张量序列进行任意维度交换
output=input.transpose(dims)
.contiguous().view()
对进行转置后的张量先进行存储连续,再重新定义其形状
output=input.contiguous().view()
四、String模块
.replace()
可以替换字符串中的内容,不改变原字符串,返回一个新的字符串
字符串名称.replace( old, new, count )
old:需要被替换的字符串内容
new:替换后的字符串内容
count:替换次数,默认全部替换,为负数时全部替换
.lower()
全显示为小写字母
.endswith()
用于判断文件名后缀
五、osgeo.gdal模块
from osgeo import gdal
from osgeo import gdal
dataset = gdal.Open(img)
# 获取影像的宽度、高度和波段数
width = dataset.RasterXSize
height = dataset.RasterYSize
bands = dataset.RasterCount
# 返回第一波段的数据对象
band = dataset.GetRasterBand(1)
# 以band上坐标为(100,100)的点为原点
# 读取5×5大小的数组数据 并放缩至10×10的大小
print(band.ReadAsArray(100,100,5,5,10,10))
六、别的一些方法
preprocess_input()
将像素值调整到(0,1)之间,即 像素值 / 255