码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程


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

    • 在遥感影像上人工制作分类数据集
    • 采用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 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
  • 相关阅读:
    基于windows WSL安装Docker Desktop,修改默认安装到C盘及默认下载镜像到C盘
    Go语言的Mutex
    运维监控的发展前景与挑战
    java计算机毕业设计华夏球迷俱乐部网站设计与实现源码+mysql数据库+系统+LW文档+部署
    elasticsearch算法之搜索模型(一)
    [附源码]Java计算机毕业设计SSM高等数学在线学习平台
    jwt 实现用户登录完整java
    真香警告!JitPack 开源库集成平台
    java基于springboot+vue+nodejs大学生租房网站系统-maven
    LeetCode 1142.过去30天的用户活动2
  • 原文地址:https://blog.csdn.net/weixin_45276304/article/details/139652177
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号