sunsett的个人博客分享 http://blog.sciencenet.cn/u/sunsett

博文

ENVI/IDL编程: 批量滤波

已有 4387 次阅读 2019-3-6 22:49 |个人分类:ENVI/IDL|系统分类:科研笔记

使用ENVI自带的滤波函数对多幅影像进行批量操作,十分简单方便。

以中值滤波为例,采用的任务是 ENVITask('MedianFilter'),根据ENVI帮助,即可查到相关参数设置,简单示例其用法:


pro DEMO_meanfilter

;201910306 批量平滑操作


  COMPILE_OPT IDL2

  e=envi()

  ;load files 

  datapath=FILE_SEARCH('待处理的文件路径','匹配字符串',count = count_all)  ;用于查找待处理影像

  respath='保存路径名'

  ;median filter

  FOR i=0,count_all-1 DO BEGIN

    ; read name

    filename=datapath[i]

    basename=FILE_BASENAME(filename)

    resname=FILEPATH(basename+'_med', ROOT_DIR=respath)    ;文件的输出名为:原文件名_med

    ;TEST IF THE PROCESS IS NEEDED

    IF FILE_TEST(resname) THEN CONTINUE

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    ;;;;;;;;;;;;;;;;; START MEDIAN FILTER ;;;;;;;;;;;;;;;;

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    raster=e.OpenRaster(filename)

    Task=ENVITask('MedianFilter')

    Task.INPUT_RASTER = raster

    Task.WINDOW_SIZE = 3

    Task.OUTPUT_RASTER_URI = resname

    Task.EXECUTE

    PRINT, basename+' finish median filtering!'

    ;close file

    raster.Close

  ENDFOR

end




https://blog.sciencenet.cn/blog-3409932-1166095.html

上一篇:ENVI/IDL 编程:批量修复DEM坏值
下一篇:Arcgis:快速的栅格点转矢量点的方法
收藏 IP: 202.114.121.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 14:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部