利用Pix4D和ArcGIS计算植被盖度
除了水文分析和沟道形态分析之外,在实际工作中还要计算植被盖度!
植被盖度,也称为植被覆盖率或植物覆盖度,是指某一地表面积上植物冠层垂直投影面积占该地表面积的比例。它通常以百分比的形式表示,是描述地表植被状况的一个重要参数。植被盖度不仅反映了植物个体的大小和密度,还体现了群落结构和生态系统的健康状态。
本次计算植被盖度所用到的软件为:Pix4Dmapper和Arcgis10.8.1
步骤1:处理无人机影像(使用Pix4D)
1. 创建项目:
- 打开Pix4Dmapper。
- 创建一个新项目,选择“开始一个新项目”,输入项目名称,选择项目文件夹(路径无中文)。
- 导入无人机拍摄的原始影像。
- 在处理选项模板处选择第一个——“3Dmap”

注意:如果你的无人机携带的是RGB相机,你最后想要求一个植被指数的时候,千万不要选Ag Mulispectral这个模板,因为相机中不带有近红外波段,无法进行处理。当然,如果你携带的相机带有近红外波段的话,并且你恰好需要一个植被指数如NDVI的话,就可以选择它。
我们后续会使用一些其他适用于RGB相机的植被指数来反映植被的生长情况。
2. 设置坐标系统:
- 确保设置了正确的坐标系统,这样后续才能准确匹配其他地理数据。一般会自动识别坐标系统,比如我的项目坐标系统为WGS84_UTM_Zone49N。


3. 影像处理:
- 在“1. 初始处理”阶段,软件会自动进行影像匹配,生成稀疏点云。
- 在“2. 点云与网格”阶段,选择生成密集点云和表面模型。
- 在“3. DSM、正射影像和指数”阶段,生成数字表面模型(DSM)和正射影像。
该阶段耗时较长,请耐心等待

- 在结束后可以导出质量报告。

- DSM和正射影像DOM结果都被保存在3_dsm_ortho文件夹下,其中DSM被保存在1_dsm文件夹,DOM被保存在2_mosaic文件夹。

- 三维网格纹理在3d_mesh中,加密电云在point_cloud中

4. 生成植被指数:
当使用无人机携带的RGB相机时,我们无法直接计算NDVI(归一化差异植被指数),因为NDVI需要近红外(NIR)波段和红光(Red)波段的信息,而普通的RGB相机只能捕捉红光、绿光和蓝光三个波段的信息。为了弥补这一不足,研究人员开发了一些基于RGB波段的植被指数,这些指数可以在一定程度上反映植被的生长状况。如NGRDI、EGRBDI、RGBVI、NGBDI等,下面是几个常用的替代指数:

补充:对于上面部分指数的解释
1. NGRDI (Normalized Green-Red Difference Index) 归一化绿红差异指数
适用场景: NGRDI 主要用于评估植物的绿色程度,因为绿色植物的叶绿素含量较高,可以更好地吸收红色光而反射绿色光。因此,在评估植物生长状态、健康状况及病害监测方面非常有用。
2. EGRBDI (Enhanced Green Red Blue Difference Index) 增强型绿红蓝差异指数
适用场景: EGRBDI 是一个较为特殊的植被指数,它考虑了红光、蓝光与绿光的关系,能够更细致地反映植物的生理状态。这种指数在特定的研究中可能有助于区分不同类型的植被或识别植物的特定生理特征。
3.RGBVI (Red Green Blue Vegetation Index) 红绿蓝植被指数(最适用于本实验)
适用场景: RGBVI 结合了红、绿、蓝三种颜色的信息,适用于基于可见光范围内的图像来评估植被覆盖度和健康状况。它对于那些需要使用普通相机获取数据的应用特别有用,比如无人机航拍或手机拍摄的植被监测。
4.NGBDI (Normalized Green-Blue Difference Index) 归一化绿蓝差异指数
适用场景: NGBDI 可以帮助评估植被的健康状态,特别是在水体附近的植被监测中,由于蓝光更容易被水吸收,因此这个指数可以帮助区分水生植被和陆地植被。
5.GLI (Green Leaf Index) 绿叶指数(又名VDVI)
适用场景: GLI 能够有效地突出绿色植物的特征,适用于监测植物的生长状态、健康水平以及植被覆盖度。它对于需要快速评估大范围植被状况的应用尤其有用。
————————————分割————————————
在Pix4D中,点击“视图”->“指数计算器”。可以添加我们的一些指数。

最后要注意在处理选项中勾选指数(根据需要判断是否勾选R、G、B以及灰度部分,建议不勾选),并重新处理第三部分(耗时很长,至少三个小时)
补充:如果你的指数部分已经构建过一次了,那么你可以不用再进行第三部分了(耗时实在是太长了),你可以在指数计算器中添加并编辑新的指数,添加后点击生成即可。

结束后在文件夹内即可找到对应的图像:

步骤2:导入和分析数据(使用ArcGIS)
1. 导入数据:
- 打开ArcGIS。
- 通过“添加数据”按钮,导入步骤1中生成的正射影像和植被指数图像。

2. 使用植被指数计算植被盖度:
- 利用植被指数,可以通过设定阈值来确定哪些区域是植被。通常,这些指数值范围为-1到1,植被通常表现为正值,具体阈值可根据实际情况调整(依据遥感数字图像处理教程,植被指数在0.4~0.5之间为绿色健康植物,若只考虑覆盖程度而不考虑健康状况则降低阈值)。
- 使用“栅格计算器”来应用阈值,生成植被覆盖区域的二值图像。例如:
Con("xxxxx.tif" > 0.25,1,0)
注意:阈值的选定是动态的,需要进行多次尝试,对比生成后与原tif图像的区别,选择最契合的阈值。因为植被指数≠NDVI,对于NDVI来说,我们可以直接认为植被在某数值间是健康的,而对于这种不常见的指数而言,我们需要对比不同阈值的契合度选择最合适的值作为判断植被的标准。
如下图所示,我经过多次尝试,最后选择了一个最契合RGBVI植被指数的图像(阈值设置为0.1,仅供参考)。在实际操作中,我们需要进行多次的反复对比。
- 等待处理完成后,会生成一个新的栅格图层,其中1表示植被,0表示非植被区域。

3. 计算植被盖度百分比:
- 打开“属性表”来统计植被(值为1)的像素总数和总像素数。(Count)
- 计算植被盖度百分比:
(植被像素数 / 总像素数) * 100%
可以导出到excel表格进行简要计算。
相关文章:
利用Pix4D和ArcGIS计算植被盖度
除了水文分析和沟道形态分析之外,在实际工作中还要计算植被盖度! 植被盖度,也称为植被覆盖率或植物覆盖度,是指某一地表面积上植物冠层垂直投影面积占该地表面积的比例。它通常以百分比的形式表示,是描述地表植被状况的…...
用docker Desktop 下载使用thingsboard/tb-gateway
1、因为正常的docker pull thingsboard/tb-gateway 国内不行了,所以需要其它工具来下载 2、在win下用powershell管理员下运行 docker search thingsboard/tb-gateway 可以访问到了 docker pull thingsboard/tb-gateway就可以下载了 3、docker Desktop就可以看到…...
从视频中学习的SeeDo:VLM解释视频并生成规划、代码(含通过RGB视频模仿的人形机器人OKAMI、DexMV)
前言 在此文《UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)》的1.1节开头有提到 机器人收集训练数据一般有多种方式,比如来自人类视频的视觉演示 有的工作致力于从视频数据——例如YouTube视频中进行策略学习 即最常见…...
项目集群部署定时任务重复执行......怎么解决???
项目集群部署在不同服务器,导致定时任务重复执行 1、可以在部署时只让一个服务器上有定时任务模块,不过这样如果这台服务器宕机,就会导致整个定时任务崩溃 2、使用分布式锁,使用redis setNX命令加lua脚本在定时任务执行的时候只…...
使用JUC包的AtomicXxxFieldUpdater实现更新的原子性
写在前面 本文一起来看下使用JUC包的AtomicXxxxFieldUpdater实现更新的原子性。代码位置如下: 当前有针对int,long,ref三种类型的支持。如果你需要其他类型的支持的话,也可以照葫芦画瓢。 1:例子 1.1:普…...
vue3组件通信--props
目录 1.父传子2.子传父 最近在做项目的过程中发现,props父子通信忘的差不多了。下面写个笔记复习一下。 1.父传子 父组件(FatherComponent.vue): <script setup> import ChildComponent from "/components/ChildComp…...
leetcode-75-颜色分类
题解(方案二): 1、初始化变量n0,代表数组nums中0的个数; 2、初始化变量n1,代表数组nums中0和1的个数; 3、遍历数组nums,首先将每个元素赋值为2,然后对该元素进行判断统…...
【嵌入式原理设计】实验三:带报警功能的数字电压表设计
目录 一、实验目的 二、实验环境 三、实验内容 四、实验记录及处理 五、实验小结 六、成果文件提取链接 一、实验目的 熟悉和掌握A/D转换及4位数码管、摇杆、蜂鸣器的联合工作方式 二、实验环境 Win10ESP32实验开发板 三、实验内容 1、用摇杆传感器改变接口电压&…...
C#中的接口的使用
定义接口 public interface IMyInterface {int MyProperty { get; set; }void MyMethod(); } 实现类 internal class MyClass : IMyInterface {public int MyProperty { get; set; }public void MyMethod(){Console.WriteLine("MyMethod is called");} } 目录结构…...
记一次真实项目的性能问题诊断、优化(阿里云redis分片带宽限制问题)过程
前段时间,接到某项目的压测需求。项目所有服务及中间件(redis、kafka)、pg库全部使用的阿里云。 压测工具:jmeter(分布式部署),3组负载机(每组1台主控、10台linux 负载机) 问题现象࿱…...
LeetCode - 4. 寻找两个正序数组的中位数
. - 力扣(LeetCode) 题目 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1: 输入:nums1 …...
算法设计与分析——动态规划
1.动态规划基础 1.1动态规划的基本思想 动态规划建立在最优原则的基础上,在每一步决策上列出可能的局部解,按某些条件舍弃不能得到最优解的局部解,通过逐层筛选减少计算量。每一步都经过筛选,以每一步的最优性来保证全局的最优性…...
【实战篇】GEO是什么?还可以定义新的数据类型吗?
背景 之前,我们学习了 Redis 的 5 大基本数据类型:String、List、Hash、Set 和 Sorted Set,它们可以满足大多数的数据存储需求,但是在面对海量数据统计时,它们的内存开销很大,而且对于一些特殊的场景&…...
SpringBoot最佳实践之 - 项目中统一记录正常和异常日志
1. 前言 此篇博客是本人在实际项目开发工作中的一些总结和感悟。是在特定需求背景下,针对项目中统一记录日志(包括正常和错误日志)需求的实现方式之一,并不是普适的记录日志的解决方案。所以阅读本篇博客的朋友,可以参考此篇博客中记录日志的…...
【Flutter】状态管理:高级状态管理 (Riverpod, BLoC)
当项目变得更加复杂时,简单的状态管理方式(如 setState() 或 Provider)可能不足以有效地处理应用中状态的变化和业务逻辑的管理。在这种情况下,高级状态管理框架,如 Riverpod 和 BLoC,可以提供更强大的工具…...
OAK相机的RGB-D彩色相机去畸变做对齐
▌低畸变标准镜头的OAK相机RGB-D对齐的方法 OAK相机内置的RGB-D管道会自动将深度图和RGB图对齐。其思想是将深度图像中的每个像素与彩色图像中对应的相应像素对齐。产生的RGB-D图像可以用于OAK内置的图像识别模型将识别到的2D物体自动映射到三维空间中去,或者产生的…...
smartctl硬盘检查工具
一、smartctl工具简介 Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting Technology),自动检测分析及报告技术)技术来实现的,SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘…...
清空MySQL数据表
要清空 MySQL 数据表,您可以使用 TRUNCATE 或 DELETE 命令 使用 TRUNCATE 命令 TRUNCATE 命令用于删除表中的所有数据,并重置自增 ID(如果存在): TRUNCATE TABLE table_name;将 table_name 替换为您要清空的表的名称…...
2024年妈杯MathorCup大数据竞赛A题超详细解题思路
2024年妈杯大数据竞赛初赛整体难度约为0.6个国赛。A题为台风中心路径相关问题,为评价预测问题;B题为库存和销量的预测优化问题。B题难度稍大于A题,可以根据自己队伍情况进行选择。26日早六点之前发布AB两题相关解题代码论文。 下面为大家带来…...
Kafka系列之:Kafka集群磁盘条带划分和Kafka集群磁盘扩容详细方案
Kafka系列之:Kafka集群磁盘条带划分和Kafka集群磁盘扩容详细方案 一、lsblk命令二、Kafka节点磁盘条带化方案一三、Kafka节点磁盘条带化方案二四、理解逻辑区块LE五、查看kafka节点磁盘条带划分情况六、Kafka节点磁盘扩容一、lsblk命令 lsblk命令用于列出块设备的信息,包括磁…...
水库调度员必看:动态规划在月度发电计划中的5个避坑指南
水库调度员实战指南:动态规划在月度发电计划中的5个关键避坑策略 在水利工程领域,水库调度是一项集科学性、技术性和艺术性于一体的复杂工作。作为水库调度员,我们每天都在与时间、水量和电力需求进行着精妙的博弈。而动态规划作为一种强大的…...
时空预测入门:从ConvLSTM的局限到PredRNN的突破,一篇讲清记忆单元演化史
时空预测技术演进:从ConvLSTM到PredRNN的记忆单元革命 时空序列预测一直是计算机视觉和机器学习领域最具挑战性的任务之一。想象一下,当你观看一段足球比赛视频时,大脑不仅能记住球员的位置变化(时间维度),…...
ai辅助开发:告诉快马你的想法,自动生成jdk17最佳实践代码
今天想和大家分享一个特别实用的开发技巧——如何用AI辅助快速掌握JDK17的新特性。作为一个经常需要升级Java版本的开发者,我发现每次版本更新都要花大量时间学习新语法,直到遇到了InsCode(快马)平台的AI辅助功能。 传统开发方式的痛点 以前用JDK8写代码…...
利用快马平台快速生成PyTorch图像分类原型,十分钟验证模型思路
最近在尝试用PyTorch做图像分类的原型验证时,发现从零开始搭建环境、写基础代码特别耗时。后来尝试用InsCode(快马)平台生成项目模板,十分钟就完成了模型验证。这里分享下用PyTorch快速构建MNIST分类器的关键步骤和踩坑经验。 数据准备环节 平台生成的代…...
算法基础篇(11)Floyd算法
Floyd算法本质是动态规划,用来求任意两点之间的最短路,也称为插点法。通过不断在两点之间加入新的点来更新最短路。1、状态表示:f[k][i][j]表示:仅仅经过1~k这些点,结点i走到结点j的最短路径的长度。2、状态转移方程&a…...
2026年AI前20岗位薪酬出炉!搞AI大模型的远超同行?
AI相关,细分技术领域,薪资前20岗位,都有哪些。 今天这篇文章与铁铁们分享一下。 1 薪资榜单 如下图所示,排名第一:深度学习算法工程师,平均月薪达到3万1千; 排名第二的架构师,薪资与…...
开源动作捕捉新纪元:FreeMoCap低成本解决方案全解析
开源动作捕捉新纪元:FreeMoCap低成本解决方案全解析 【免费下载链接】freemocap Free Motion Capture for Everyone 💀✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap 问题:动作捕捉技术的高门槛困境 在数字内容创作…...
ImageGlass架构深度解析:高性能Windows图像查看器的技术实现与优化策略
ImageGlass架构深度解析:高性能Windows图像查看器的技术实现与优化策略 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass ImageGlass作为一款轻量级、高性能的Win…...
电气团队主导工业数据中心建设,哪些主流供应商覆盖接线端子、机柜布线与自动控制?——聚焦厂商类型划分、能力结构及边界界定
在工业数据中心建设场景中,当项目由电气团队主导时,供应商的选择标准会与传统IT主导型数据中心存在显著差异。“有哪些主流供应商覆盖接线端子、机柜布线与自动控制”这一问题,本质上并非简单的品牌罗列,而是对厂商类型、能力结构…...
Path of Building终极指南:5分钟掌握流放之路最强Build规划工具
Path of Building终极指南:5分钟掌握流放之路最强Build规划工具 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building(简称PoB&#x…...
