IDL/ENVI 影像格式批量转换

3 篇文章 1 订阅

IDL除了影像的批处理工作,还可以对文件进行批量复制、重命名、删除等,具体参考:
IDL文件的新建,复制,剪切,删除,重命名,查找…
.
.

IDL/ENVI 影像格式.dat/.img批量转换.tif/等

有时候需要将很多影像按照指定要求进行格式转换
在ENVI一张一张的进行,很麻烦,而且都是重复工作

所以,可以选择IDL批量格式转换

.img 格式转 .tif

下面是 .img 格式转 .tif 的代码
其他格式转换的可参考

路径更改:具体输入输出路径,实时更改

pro image2tif
  compile_opt IDL2
  e = envi(/headless) ; Launch the application
  ;envi, /restore_base_save_files 

  filesearch='E:\image\HY'
  file=FILE_SEARCH(filesearch,'*.img',count=num)

  for j=0,num-1 do begin
    inputfile=file[j]
    raster1 = e.OpenRaster(inputfile) ; 读入文件

    ;这里inputfile类似于"E:\image\HY\122.img"这样的字符串
    ;将字符串以"\"符号打断,以便取最后一个"\"后的字符串"122.img"经变换后做输出文件名
    inputfilesplit = strsplit(inputfile,'\',/extract)
    outputfilename=inputfilesplit[N_ELEMENTS(inputfilesplit)-1];取打断后最后一个"\"后的字符串做输出文件名
    
    ;;如果影像有后缀名,如.img,则需要加下面一段。若为无拓展名文件则不需要
    inputfilesplit = strsplit(outputfilename,'.',/extract)
    outputfilename=inputfilesplit[0];取打断后最后一个"."后的字符串做输出文件名
    ;;如果影像有后缀名,如.img,则需要加上面一段
    
    ;;影像输入指定文件夹路径:E:\image,转换为tif格式
    filepath_output = 'E:\image\'+outputfilename+'.tif' ; 输出文件路径
    raster1.Export, filepath_output, 'tiff'; 输出为tiff格式
    print,FORMAT='(%"%d/%d finished!")',j+1,num ;打印finished,提示完成
  endfor
end

注意:若是无拓展名的ENVI影像文件,则下述部分代码需删除

无拓展名的ENVI影像文件,如
在这里插入图片描述

需删除的代码部分为

    ;;如果影像有后缀名,如.img,则需要加下面一段。若为无拓展名文件则不需要
    inputfilesplit = strsplit(outputfilename,'.',/extract)
    outputfilename=inputfilesplit[0];取打断后最后一个"."后的字符串做输出文件名
    ;;如果影像有后缀名,如.img,则需要加上面一段

.dat 格式转 .tif

pro ENVIdata2tif
  compile_opt IDL2
  e = envi(/headless) ; Launch the application
  ;envi, /restore_base_save_files 

  filesearch='E:\image\HY-byte'
  file=FILE_SEARCH(filesearch,'*.DAT',count=num)

  for j=0,num-1 do begin
    inputfile=file[j]
    raster1 = e.OpenRaster(inputfile,DATA_IGNORE_VALUE=0) ; 读入文件

    ;这里inputfile类似于"E:\image\HY\122.dat"这样的字符串
    ;将字符串以"\"符号打断,以便取最后一个"\"后的字符串"122.dat"经变换后做输出文件名
    inputfilesplit = strsplit(inputfile,'\',/extract)
    outputfilename=inputfilesplit[N_ELEMENTS(inputfilesplit)-1];取打断后最后一个"\"后的字符串做输出文件名
    
    ;;如果影像有后缀名,如.dat,则需要加下面一段
    inputfilesplit = strsplit(outputfilename,'.',/extract)
    outputfilename=inputfilesplit[0];取打断后最后一个"\"后的字符串做输出文件名
    ;;如果影像有后缀名,如.dat,则需要加上面一段
    
    ;;影像输入指定文件夹路径:E:\image,转换为tif格式
    filepath_output = filesearch+'\byte\'+outputfilename+'.tif' ; 输出文件路径
    raster1.Export, filepath_output, 'tiff'; 输出为tiff格式
    print,FORMAT='(%"%d/%d finished!")',j+1,num ;打印finished,提示完成
  endfor
end

### 回答1: 要使用envi批量导出tif文件,我们可以按照以下步骤进行操作。 首先,打开ENVI软件并加载要导出的一系列数据。我们可以通过直接拖拽文件到ENVI界面上或通过ENVI中的“文件”菜单选项来加载数据。 接下来,在ENVI界面上的菜单栏中点击“文件”选项,然后选择“导出数据”。 在弹出的“导出数据”对话框中,我们需要进行一些设置。首先,选择要导出的数据类型为“TIFF(.tif)”。然后,选择要保存数据的文件夹路径。 如果我们希望将所有导出的tif文件保存在同一个文件夹中,我们可以选择“合并结果?”,然后指定一个输出文件夹。 另外,我们还可以选择导出的波段范围、数据格式和坐标系。如果需要在导出的tif文件中包含地理参考信息,可以勾选“包含地理参考”。 完成设置后,点击“执行”按钮开始批量导出tif文件。ENVI将会按照设置的参数逐个导出每个输入数据,并将结果保存为tif文件。 完成导出后,我们可以在指定的输出文件夹中找到批量导出的tif文件。这些文件将保留原始数据的波段信息、空间参考和其他元数据。 通过以上步骤,我们可以使用ENVI软件轻松地批量导出tif文件,以满足我们的需求。 ### 回答2: 要批量导出tif文件,我们可以使用Envi软件中的批处理工具。以下是步骤: 1. 打开Envi软件并加载要导出的影像文件。 2. 转到菜单栏中的“导航”选项,选择“批处理工具”。 3. 在弹出的批处理工具对话框中,点击“添加任务”按钮。 4. 在新的任务中,选择要导出的影像文件的路径和名称。可以选择单个文件或整个文件夹中的所有文件。 5. 确保输出格式为“TIFF”格式,并指定输出的路径和名称。 6. 可以选择自定义导出选项,如色彩表、文件类型等。 7. 点击“确定”按钮,将该任务添加到批处理列表中。 8. 可以继续添加其他导出任务,或者点击“执行”按钮开始批量导出。 9. Envi将按照指定的设置,逐个导出影像文件为tif格式,并保存到指定的输出路径中。 请注意:批处理导出可能需要一定的时间,具体取决于文件数量和文件大小。完成导出后,您可以在指定的输出路径中找到导出的tif文件。 ### 回答3: 要批量导出tif文件,我们可以使用envi软件中的相关功能。以下是一种可能的方法: 首先,打开envi软件,并将所有需要导出为tif文件的数据集添加到envi会话中。这些数据集可以是在envi中打开的影像文件或者导入的其他数据类型。 然后,点击envi菜单中的“文件”选项,然后选择“批处理导出”。这将打开一个新窗口,显示当前会话中加载的所有数据集。 在批处理导出窗口中,选择要导出为tif文件的数据集。可以使用Shift或Ctrl键来进行多选。 接下来,选择输出文件的格式为“tif”。在目标文件夹选项中,指定tif文件的保存位置。可以选择现有文件夹或者创建一个新文件夹。 如果需要,可以根据需要为输出文件指定新的名称或后缀。 一旦设置完所有选项,点击“确定”按钮开始批处理导出过程。envi将根据您的选择将所有选定的数据集导出为tif文件,并保存到指定的目标文件夹中。 待导出过程完成后,您可以在指定的目标文件夹中查找导出的tif文件。这些文件将包含与源数据集相同的内容,但以tif格式保存。 通过以上步骤,您可以使用envi软件批量导出tif文件。请注意,具体步骤可能会因envi软件版本的不同而有所差异,但基本原理和方法仍然适用。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小于等于大于

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值