il和idl区别_ENVI与IDL的行列号区别及转换

本文探讨了ENVI和IDL在处理图像时坐标系统的差异,ENVI以左上角为起点,IDL以左下角为原点。转换公式为IDL: [X-1, LINE-Y],并提供了使用rotate和reverse函数进行转换的方法。此外,还讨论了IDL的READ_TIFF函数在处理图像切片时的注意事项。" 125253915,11200549,使用Hive UDF Python解析JSON数据,"['hive', 'python', 'hadoop', 'json解析', 'udf']
摘要由CSDN通过智能技术生成

在envi中读取了图像到数组中,然后把数组用idl输出为其他图像格式,结果惊奇的发现在envi中图像跟原图像相比是上下反转的。经查证这是因为envi和idl坐标系不同所致的,ENVI是以影像左上角作为行列值的起点,即,左上角的像素为[0,0],ENVI保存ASCII的时候也是这个顺序,但是IDL却是以左下角为坐标原点,即【0,0】为左下角。

用时二者要进行转换才可以,对读取了envi中图像的数组的转换公式为:

ENVI:[X,Y]

IDL:[X-1,LINE-Y], 此处,line为影像总行数。

但是这样写法较为复杂,我用的方法是用系统函数rotate和reverse,reverse将数组每行前后反转,但envi和idl的差别是列的前后反转,因此先用rotate旋转90度,做reverse,然后再做270度旋转回到原始位置,即可成功。写法如下:

data=rotate(data,1);

data=reverse(data);

data=rotate(data,3);

不知道有没有更好的办法

---------------------下文地址在这里

1.ENVI是以影像左上角作为行列值的起点,即,左上角的像素为[0,0],ENVI保存ASCII的时候也是这个顺序,但是IDL却是以左下角为坐标原点,即【0,0】为左下角,用时二者要进行转换才可以,列数不变,但行数要变,同一个点,在ENVI和IDL中的行列号不同,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值