热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

ENVI二次开发时调用决策树的方法

决策树方法是一种常用的分类方法,由于ENVI没有提供自带的决策树调用接口,本文介绍如何通过安装决策树sav文件在ENVI二次开发中调用决策树接口。1.安装通过百度网盘下载sav文件

决策树方法是一种常用的分类方法,由于ENVI没有提供自带的决策树调用接口,本文介绍如何通过安装决策树sav文件在ENVI二次开发中调用决策树接口。


1.安装

通过百度网盘下载sav文件及示例代码。

链接:https://pan.baidu.com/s/1P4EQ-KjGpw9chspfRs4krw 
提取码:envi 


2.调用

  1. 将batch_decision_tree.sav拷贝到:C:\Program Files\Harris\ENVI5x\classic\save_add;

  2. 修改示例代码中,tree_file,ndvi_file及slope_file文件路径,运行示例代码;

     

    pro test_batch_dtree
    compile_opt idl2

    ENVI, /restore_base_save_files
    ENVI_BATCH_INIT
    ;Supply existing decision tree text file
    tree_file = 'D:\decision_tree_ndvi_slope.txt'
    ;Open relevant image files
    ndvi_file = 'C:\Program Files\Harris\ENVI56\classic\data\bhtmref.img'
    slope_file = 'C:\Program Files\Harris\ENVI56\classic\data\bhdemsub.img'
    envi_open_file, ndvi_file, r_fid = ndvi_fid
    envi_open_file, slope_file, r_fid = slope_fid
    ;Build arrays of tree variables, input file ids, and band positions
    ;Order is crucial. The first file id and band position array are tied to the first variable, and so on....
    ;Band positions for each file, as listed in the decision tree text file under "file pos", are 1-based. Input to this routine is zero-based, so
    ;be sure to account for that. Example: file pos = 4,3 -> pos = [3,2]. Because the number of bands can vary for each variable, they
    ;must be stored in a structure variable.
    var_names = ['ndvi','slope']
    in_fids = [ndvi_fid, slope_fid]
    pos_struct = {ndvi:[3,2], slope:[0]}
    ;Specify an output filename
    out_file = 'D:\batch_dt_test.img'
    ;Specify which input image to use as the base, along with the spatial dimensions to operate on
    base_fid = ndvi_fid
    envi_file_query, base_fid, dims=base_dims
    ;Specify an interpolation method for resizing the imagery involved. Required, even if not used in the decision process.
    ;Options are:
    ;
    ;0 - Nearest Neighbor
    ;1 - Bilinear
    ;2 - Cubic Convolution
    ;
    ;0 is always the safest option. If interpolation isn't required, the specified value is ignored.
    interp = 2
    ;Call the batch routine. Result should show up in the ABL
    batch_decision_tree, tree_file=tree_file, in_fids=in_fids, pos_struct=pos_struct, var_names=var_names, out_file=out_file, $
    base_fid=base_fid, base_dims=base_dims, interp=interp, r_fid=r_fid
    end



3.结果



推荐阅读
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • Windows 7集成IE11:离线安装包与系统补丁全面解析
    在将Internet Explorer 11集成到Windows 7系统中时,需预先安装多个关键系统补丁,包括KB2731771、KB2786081、KB2834140、KB2670838、KB2729094和KB2888049。这些补丁不仅确保了系统的兼容性和稳定性,还为IE11的顺利安装提供了必要的支持。此外,建议在安装过程中遵循官方文档中的步骤,以避免潜在的兼容性问题。 ... [详细]
  • 如何在Windows 7旗舰版中使用电脑进行高质量录音?
    如何在Windows 7旗舰版中使用电脑进行高质量录音? ... [详细]
  • 掌握这些技巧,轻松获取超过90%的资源信息
    在数字时代,高效获取所需资源是每个人必备的技能。本文将分享一系列实用技巧,帮助读者轻松获取超过90%的网络资源信息,无论是学术资料、技术文档还是最新资讯,都能迅速找到。通过优化搜索引擎使用、利用专业数据库和社群资源等方法,读者将能够在信息海洋中游刃有余。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 解析 /etc/pki/tls/certs/cabundle.crt 文件的主要功能与应用场景 ... [详细]
  • PHP网站日志深度解析与数据洞察分析
    通过对PHP网站日志进行深入解析与数据洞察分析,可以有效提升网站性能和用户体验。由于网站日志数据量庞大,通常需要借助专业的日志分析工具来处理。常用的工具包括光年日志分析工具和WebLog Expert等,这些工具能够帮助技术人员快速识别并解决网站运行中的各种问题,从而优化SEO效果和提升整体运营效率。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 在SQL Server 2008数据库迁移过程中,备份方法是一种高效且可靠的导出手段。本文详细介绍了如何利用备份功能实现数据的快速迁移,并提供了具体的步骤和注意事项,适合Golang程序员和数据库管理员参考。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 通过利用代码自动生成技术,旨在减轻软件开发的复杂性,缩短项目周期,减少冗余代码的编写,从而显著提升开发效率。该方法不仅能够降低开发人员的工作强度,还能确保代码的一致性和质量。 ... [详细]
  • 移动搜索格局已定,切勿误解微信搜索的真正实力
    近期,微信新版本的内测界面曝光,新增了朋友圈搜索和附近商户搜索功能。种种迹象显示,微信正不断强化其搜索能力。尽管移动搜索市场格局已基本稳定,但不应低估微信搜索的潜力。微信不仅在聊天工具、移动浏览器和新闻阅读等领域持续发力,还在通过搜索功能进一步巩固其在移动互联网领域的地位。 ... [详细]
  • 题目要求将数字字符串转换为对应的字母组合,例如“111”可以转化为“AAA”、“KA”或“AK”。本文通过深入解析暴力递归方法,详细探讨了这一问题的解法,并结合真实的 Facebook 面试题目,提供了从左至右尝试模型的具体实现和优化策略。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
author-avatar
ciaos
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有