前言
数据增强是指对训练样本数据进行某种变换操作,从而生成新数据的过程。数据增强的根本目的是得到充足的样本数据量,避免模型训练过程中产生过拟合现象。
正文
对于遥感影像来说,由于成像过程传感器对同一地物在不同角度拍摄会在影像上展现出不同的位置和形态,所以经过变换的样本可以使模型更好地学习地物的旋转不变的特征,从而更好地适应不同形态的图像。因此我们对训练数据进行几何变换(包括水平翻转、竖直翻转以及对角翻转)的数据增强操作。原图像水平翻转垂直翻转对角翻转
代码实现:
因为如果多波段的话,利用OpenCV对图像进行翻转就会报错,所以我们使用numpy进行翻转的实现。
import gdal
import numpy as np
import os
import cv2
# 读取tif数据集
def readTif(fileName, xoff = 0, yoff = 0, data_width = 0, data_height = 0):
dataset = gdal.Open(fileName)
if dataset == None:
print(fileName + "文件无法打开")
# 栅格矩阵的列数
width = dataset.RasterXSize
# 栅格矩阵的行数
height = dataset.RasterYSize
# 波段数