小菊的语义分割——对ISPRS数据集中的遥感图像进行切分,制作自己的训练数据集
欢迎大家关注我的个人博客:fuhao7i.com
1. 为什么要对遥感图像进行切分?
一般的遥感图像尺寸都是非常大的,就像这里我们用的ISPRS遥感图像数据集,每张遥感图像.ttf的尺寸都是6000 x 6000,这根本就不能用于我们的模型训练😣(内存瞬干爆炸💥),因此需要我们自己将大的遥感图像切分成自己需要的尺寸,像是常用的224 x 224,512 x 512等。
大家可以利用如下代码将遥感图像切分成224 x 224的大小,如需改成其他尺寸可以稍作修改。
2. 切分图像,制作数据集
Labels图像的大小和遥感图像的大小是一样的,所以我们在切分图像的时候,也需要一块把Labels图像切分了,以便RGB图像和Labels图像对应。
gen_datasets.py
因为我的电脑承受不了太大的数据集😅,所以在制作数据集的时候我只切分了一张遥感图像。
import cv2
import numpy
img1 = cv2.imread('/Users/fuhao7i/Desktop/北漠/ISPRS遥感图像分割/2_Ortho_RGB/top_potsdam_2_10_RGB.tif') #读取RGB原图像
img2 = cv2.imread('/Users/fuhao7i/Desktop/北漠/ISPRS遥感图像分割/5_Labels_all/top_potsdam_2_10_label.tif') #读取Labels图像
#因为6000/224 = 26,所以6000x6000的图像可以划分为26x26个224x224大小的图像
for i in range(26):
f