在遥感影像上人工制作分类数据集

1.新建shp文件
地理坐标系保持和影像一致,面类型
在这里插入图片描述
2.打开属性表
在这里插入图片描述
3.添加字段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里分类6类,点击添加值添加
在这里插入图片描述
添加完毕
在这里插入图片描述
开始人工选地物类型,制作数据集
在这里插入图片描述

在这里插入图片描述

开始标注,标注的时候可以借助谷歌地图来看
在这里插入图片描述
标记足够多的样本
在这里插入图片描述
打开面转栅格工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置nodata值为15

采用python+gdal库制作数据集



import csv
import numpy as np
import rasterio
import pandas as pd


def readTif(fileName):
    try:
        dataset = rasterio.open(fileName)
        return dataset
    except rasterio.errors.RasterioIOError:
        print(f"文件 {
     fileName} 无法打开")
        return None


num_bands = 8
csv_head_name = [f'Band{
     i}' for i in range(1, num_bands + 1)] + ['Label', 'LabelName']
labels_name = {
   0: "水体", 1: "植被",2: "建筑",3: "裸地",4: "农田",5: "道路"}

ori_dataset = readTif(orgin_path)
label_dataset = readTif(sample_path)

if ori_dataset is not None and label_dataset is not None:
    label_matri = label_dataset.read(1)
    data_matri = ori_dataset.read()
    nodata_indices = np.where(label_matri != 15)  # 获取所有非 nodata 的索引


    # 准备数据
    data = []
    for i in range(nodata_indices[0].size):
        row, col = nodata_indices[0][i], nodata_indices[1][i]
        label = label_matri[row, col]
        band_values = data_matri[:, row, col].tolist()
        label_name = labels_name.get(label, 'Unknown')
        band_values

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部