当前位置: 首页 > news >正文

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

  • 在遥感影像上人工制作分类数据集
  • 采用python+gdal库制作数据集
  • 挑选分类模型(RF、KNN、SVM、逻辑回归)
  • 选择随机森林模型建模分类
  • 遥感图像预测

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

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

在这里插入图片描述

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

采用python+gdal库制作数据集

import csv
import numpy as np
import rasterio
import pandas as pddef readTif(fileName):try:dataset = rasterio.open(fileName)return datasetexcept rasterio.errors.RasterioIOError:print(f"文件 {fileName} 无法打开")return Nonenum_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
http://www.lryc.cn/news/377930.html

相关文章:

  • 【Android面试八股文】Kotlin内置标准函数let的原理是什么?
  • 网工面试总结1
  • [stm32]密码锁
  • 优化yarn在任务执行时核数把控不准确的问题
  • 2024年,收付通申请开通流程
  • Django使用django-apscheduler实现定时任务
  • python数据分析:修改数据
  • 【免费API推荐】:解锁无限创意,让您的应用更具竞争力(8)
  • 日语 11 12
  • STM32程序启动过程
  • 天才简史——Diederik P. Kingma与他的Adam优化器
  • 两个src案例分享
  • 宕机了, redis如何保证数据不丢?
  • 太速科技-基于XCVU9P+ C6678的100G光纤的加速卡
  • Maven:一个下载jar依赖失败的问题解决方案
  • Java 枚举的基本使用
  • Semaphroe + CountDown
  • 解读代理 IP差异:ISP 代理与住宅代理
  • maven-jar-plugin maven打包插件笔记
  • 云服务器部署Neo4j
  • day64 图论 图论理论基础 深搜 广搜 98. 所有可达路径
  • 从0进入微服务需要了解的基础知识
  • MySQL之复制(七)
  • Redis分片集群搭建
  • 请解释Java中的策略模式,并举例说明其应用场景和实现方式。请解释Java中的模板方法模式,并讨论其在实际项目中的应用。
  • Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱
  • 基于Windows API DialogBox的对话框
  • 五十一、openlayers官网示例Layer Min/Max Resolution解析——设置图层最大分辨率,超过最大值换另一个图层显示
  • 24年计算机等级考试22个常见问题解答❗
  • obsidian制作自己的主题一文入门