问题标签 [envi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
462 浏览

java - 如何在 Java 中读取 HDR envi 图像(使用 GDAL 或 Opencv)?

我有一个 160 波段的 HDR envi 图像,该图像的大小为 4 GB。每个像素(行、列)的每个波段都有一个相关的双精度值(反射率值)。此外,每个像素都有一个相关的地理点。

我可以通过使用 R 包(例如 RASTER)来阅读它。但是,我的应用程序将用 Java 编写,我想知道是否有人使用某些库(例如 OpenCV)来读取 HDR Envi 图像。我也会接受 Java 中的其他库。

我只需要读取每个波段和 HDR 图像的每个像素的反射率值地理点。这意味着:一个像素有 160 个不同的反射率值,它们会生成一个图表(波段 X 反射率)。可以用Java做吗?拜托,我需要一些例子来做到这一点。

0 投票
0 回答
688 浏览

image - 如何将 HDR Envi 图像转换为 PNG 图像(使用 GDAL)

我试图通过将 4GB 的 ENVI 图像转换为 PNG 图像(即 RGB 文件)来可视化它。根据 .hdr 头文件,执行此操作的默认波段是:{55, 41, 12}

但是,我正在使用gdal_translate;作为回应,我得到了一张带有一些空白风险的黑色图像。

我正在使用以下命令行:

我做错了什么?我试图改变波段的顺序,放置选项-ot Byte,-ot Uint16,但没有成功......

我也尝试过使用 java 语言转换此图像,但也没有成功。如有必要,我也可以将我的源代码放在这里。

更新 1

图像的完整信息是(通过使用 gdalinfo):

由于正文限制,我省略了一些信息。

0 投票
1 回答
596 浏览

idl - 在字符串之后插入一个变量来命名循环中的输出文件?ENVI/IDL

我是 ENVI/IDL 的初学者,

如何将变量插入字符串以在循环中命名输出文件?

我正在尝试使用不同的值和参数组合(即伽玛和惩罚因子)循环支持向量机分类器。这就是我的想法

伽玛=1.167

罚款=25,1000,25

ENVI_DOIT, 'ENVI_SVM_DOIT', DIMS=array, FID=fid , KERNEL_GAMMA=gamma, OUT_NAME='xxx' , PENALTY=penalty, POS=array, ROI_IDS=array

在这个 OUT_NAME='xxx' 我想有 'xxx'gammapenalty (惩罚随着循环而变化。

提前谢谢你,我知道这是一个非常简单的问题,但最简单的问题对于大多数人来说可能是显而易见的,而对于初学者来说很难找到它。

0 投票
1 回答
273 浏览

matlab - 在MATLAB中提取多边形的边缘

我有在 ENVI 中制作的感兴趣区域 (ROI) 文件,它由不规则形状的多边形组成。当我尝试将它保存在矢量文件中时,它在多边形内显示了几条线。我想要的只是单线多边形边缘。我想使用 MATLAB 在线提取 ROI 的边缘。有没有可以提取边缘的代码?我在几个网站上搜索过,但都没有找到。我假设可能有一些 MATLAB 代码。

0 投票
1 回答
843 浏览

python - Python IDL 桥梁:Envi 函数

我的目标是使用用 IDL 编写的脚本到 python 中:

IDL 代码:

上面的代码,在 IDL 命令提示符下启动,可以正常工作。我想做一个python脚本:

  • 选项 1) 启动上述 idl .pro 脚本
  • 选项 2) 使用 IDL to Python Bridge sintax。

在第一种情况下,使用subprocess.call("idldirectory\idl.exe")命令,我可以将 IDL 提示符打开到 Windows 命令提示符中。但我不能像简单的PRINT, 'hello'.

在第二种情况下,我编写了以下 poython 代码:

该指令e=IDL.ENVI()正常工作,实际上是 Envi 设置启动。

该指令msi_file = """IDL.Filepath(mydata.tif", ROOT_DIR = 'mydirectory')"""正常工作。

我的问题是 OpenRaster 指令。它是 ENVI 指令,而不是 IDL 指令。所以,IDL.OpenRaster 不起作用,我没有任何解决方案。

有人能帮我吗?谢谢你。洛伦佐

0 投票
1 回答
50 浏览

c - 无法以带序模式写入像素块

我正在使用带有 bsq 类型的交错(带顺序)的 ENVI 图像文件(.hdr 标签)。我正在尝试对大约 350MB 大的图像进行主成分转换。为了做到这一点,我必须在较小的内存块中单独处理它。如果文件只能在一块内存中使用,则下面的代码将按预期工作。但是,如果需要多次迭代,则只有最后一个块按预期出现,即,所有先前的块都被写入,就好像它们一遍又一遍地重复相同像素一样。

这里是写功能。

我得出的结论是,意外行为是由于该函数本身或在 pca_xform 函数中对它的一些不当调用所致。为此,我简单地使用了以下代码 insted,它按顺序写入像素(bip 交错)。

但是,我想将我的输出文件保留为带顺序文件。我花了很多时间试图找到解决方案,在这里和那里调整代码,但问题的解决方案仍然让我望而却步。

0 投票
1 回答
95 浏览

idl-programming-language - 为什么 IDL 在同一个表达式中有不同的值?

我正在使用 IDL 进行一些图像处理,它需要高精度。但是当我调试同事的程序时,我发现了一些奇怪的地方:

就像上面的代码,我不知道为什么两个结果有不同的值?我的 IDL 版本是 8.3,带有 ENVI 包。

0 投票
2 回答
951 浏览

python - 如何迭代加载read_pixel并写入env文件;蟒蛇3

我想将每个像素的高光谱数据加载到一个数组中,并使用 Python 3.5 再次写出这个像素。我想用这个像素的光谱信息计算一些东西。

我尝试了两种不同的方法,但都没有按照我想要的方式工作。

首先,我已经更新了光谱包,因为最后一个版本被声明不能迭代地使用 envi.save_image,但我的方法仍然不起作用。其次,我的方法对于我的双重 for 循环都不是很好 - 我知道 - 如果有人可以帮助我解决我的问题。

第一个:

第一个示例不保存图像,而是给了我错误代码

第二:

第二个示例保存图像,但以不同的顺序存储像素并弄乱我的图像。

0 投票
1 回答
265 浏览

header - 如何使用env设置头功能?

我不明白envi_setup_head。谁能帮我用 IDL 代码格式编写它?

我有在 IDL 中生成的地图,我需要在 ENVI 中处理它们。我不知道如何将图像保存在文件夹中并能够在 ENVI 中打开它们。有谁知道该怎么做?

0 投票
1 回答
4514 浏览

r - 如何在 R 中执行栅格计算

我正在处理辐射测量栅格。我已经在两个单独的文件中写了两个乐队:

当我尝试

错误发生为“二进制运算符的非数字参数”如何将栅格转换为数字参数?