CAN-EYE软件计算植被冠层参数的方法

2023-10-28 07:30

本文主要是介绍CAN-EYE软件计算植被冠层参数的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  本文介绍植被冠层参数计算软件CAN-EYE的具体使用方法。

  在文章植被冠层参数计算软件CAN-EYE的下载与安装方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/126307810)中,我们介绍了CAN-EYE软件的下载、安装方法;本文就对该软件的具体使用方法进行介绍。

  CAN-EYE软件计算LAIFVC等各类植被参数,都需要基于相机所拍摄的真彩色或黑白植被图片。其可处理的植被照片分别有三种类型:第一类是由鱼眼镜头相机获取的数字半球照片(Digital Hemispherical Photographs,DHP),第二类是由普通镜头相机与垂直方向呈57.5°情况下获取的照片DP57),第三类则是由相机在垂直方向获取的照片DP0)。

  在本文中,我们就以前期用鱼眼镜头在垂直方向向上拍摄的若干乔木冠层照片为例,来进行植被冠层参数的计算。

1 照片文件准备

  首先,我们需要将同一研究区域所拍摄的不同植被照片均放在同一文件夹下,如下图所示。需要保证图片均为.jpg格式或均为tif格式,否则需要先将全部图片转一下格式。

在这里插入图片描述

  如果我们在不同的空间位置设立了多个研究区域,就需要将每一个研究区域的照片分别在一个文件夹中存储;且每一个文件夹下的照片在拍摄时各项基本参数需要一致,如照片类型(DHPDP57DP0)、拍摄方向(是朝向天空拍摄的还是朝向地面拍摄的)、图片颜色(真彩色或黑白)等等。此外,需要注意的是,CAN-EYE软件一次性只能处理25张照片,如果大家在同一个研究区域内拍摄的照片大于25张,就需要分成两个文件夹分别存储、计算。

2 照片文件导入

  接下来,我们打开CAN-EYE软件。

在这里插入图片描述

  依据我们所拍摄的照片类型(DHPDP57DP0),在软件左上方菜单栏中选择对应的选项即可。尽管本文所用照片为DP0照片,但由于DHP照片在处理过程中会涉及到更多的参数,因此这里先选择“Digital Hemispherical Photos (DHP)”选项来进行介绍。接下来,依据图片成像方向,选择“Upward”。

在这里插入图片描述

  接下来,将弹出照片文件选择窗口。大家将当前文件夹下的全部照片文件加以选择即可。

在这里插入图片描述

3 处理参数配置

  接下来,开始对刚刚我们所选择的照片文件的处理参数进行配置。

在这里插入图片描述

  具体参数含义大家可以查阅软件自带的帮助文档,这里就不再赘述。需要注意的是,这里配置的参数是可以通用的——在后期如果需要对另一个文件夹下、成像情况基本一致的照片进行处理,就可以直接使用之前配置好的参数。

在这里插入图片描述

  其中,上述参数就依据拍摄时的基本情况,直接进行配置即可;而“Optical Center & Projection Function”这一项则需要点击“Create”后进行配置。

  配置完毕后,软件将自动保存这些参数,并生成一个.mat格式的参数文件;后期如果对其他文件夹下的同样拍摄条件的照片进行计算,可以直接导入这个.mat格式参数文件。

在这里插入图片描述

  文件生成完毕后,将会弹出一个窗口,我们可以在此调整.mat格式参数文件的保存路径与名称。

在这里插入图片描述

4 照片文件筛选

  随后,软件将显示出我们所导入的图片。

在这里插入图片描述

  其中,如果有部分照片文件由于阳光太强、拍摄不佳等情况不适合参与计算,可以在此处进行剔除。选择“TRASH IMAGE”选项,并通过鼠标左键选定不想要的照片,选择完毕后单击鼠标右键即可。

在这里插入图片描述

  确认无误后,点击“OK”即可进入下一环节。

5 照片文件掩膜

  随后,进入对照片文件进行掩膜的环节。如果照片中出现了与植被无关的对象(例如指示牌、拍摄者的身体等),可以在此处进行掩膜。

在这里插入图片描述

  其中,我们可以通过调整“GAMMA”选项,对照片进行对象分类,方便我们的掩膜。这里需要注意,这个“GAMMA”选项的值只是为了方便我们对照片中的植被与非植被(天空或土地)进行区分的,并不影响后期的计算结果。

在这里插入图片描述

  掩膜完毕后,即可进入下一环节。

在这里插入图片描述

6 分类方法选择

  接下来,即可对分类方法进行选择。这里的分类指的就是对照片文件中植被与非植被(天空或土地)进行区分。

在这里插入图片描述

  其中,一共有两种分类方法。第一种是不考虑混合像元的情况,即一张图片中,一个像素要么是植被像素,要么是非植被的背景像素(我这里因为前期选择了照片成像方向是“Upward”,所以非植被的背景就是“Sky”);第二种则是考虑混合像元的情况,即部分像元中既有植被的信息,也有背景的信息。具体分类方法大家依据实际情况选择即可,我这里就选择了第一种。

在这里插入图片描述

  选择第一种后,进入如上图所示的界面。

在这里插入图片描述

  我们首先点击窗口下方任何一个类别左侧的圆形选项,软件即可自动进行像素分类。如果对自动分类的结果不满意,首先我们可以在自动弹出的调整框中设置分类参数的数值。

在这里插入图片描述

  也可以选中某一张照片,将其放大,如上图所示。

在这里插入图片描述

  然后选择两个类别中任意一个类别左侧的方形选项框,并用鼠标左键在图中进行框选,从而实现监督分类。例如,软件原本的自动分类中遗漏了很多背景(天空像素),因此我用上图所示的方法,用鼠标框选一下没有被分类的天空像元,软件即可将多数未被选中的天空像元进行进一步的分类,如下图所示。

在这里插入图片描述

  我们注意到,在每一个类别左、右侧各有一个方形的选项框;如果我们用左侧的方形选项框,那么所进行的框选操作将会被同步到所有图片中;如果用右侧的方形选项框,那么框选操作仅仅会在单独的图片中生效。如下图所示,刚刚我们用了左侧的方形选项框,那么在这一张图片中框选出天空像素,在其他图片中也会自动将未被选中的天空像素进行选择。

在这里插入图片描述

  完成图像分类后,点击“DONE”,即可完成全部处理操作,软件将自动开始计算。

在这里插入图片描述

7 结果读取

  稍等片刻,即可在结果文件夹(即大家存放当前照片的文件夹)中看到Excel表格形式存储的植被冠层参数计算结果。

在这里插入图片描述

  打开Excel文件后,即可按照需要查阅对应的植被冠层参数结果。

在这里插入图片描述

  以上就是CAN-EYE软件的具体使用方法。如果大家当初拍摄的照片是DP57DP0类型的,那么就在第二部分照片文件导入步骤时选择对应的DP57DP0选项即可,其他流程都是基本一致的。

这篇关于CAN-EYE软件计算植被冠层参数的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291669

相关文章

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

c++中std::placeholders的使用方法

《c++中std::placeholders的使用方法》std::placeholders是C++标准库中的一个工具,用于在函数对象绑定时创建占位符,本文就来详细的介绍一下,具有一定的参考价值,感兴... 目录1. 基本概念2. 使用场景3. 示例示例 1:部分参数绑定示例 2:参数重排序4. 注意事项5.