IDL矢量裁剪影像的代码已经有不少人写了,之前的项目中,同事也是参考了ENVI官博中的写法。后来,客户那边反馈裁剪的不准,才发现了问题,就是这些代码用简单的矢量裁剪影像没有问题,但客户那边的是河流的矢量(如下图),中间有些挖空,在转换为ROI的时候,往往不能正确裁剪。
矢量 | 代码裁剪结果 | 正确裁剪结果 |
可以看出,ROI处理的时候把三个多边形都保留了,就导致了裁剪不能去掉中间空心的内容。把同样的数据放到ENVI中裁剪,可以得到正确裁剪结果,看来ENVI是对这种含有内外环的复杂多边形转换ROI时做了处理。话不多说,下面给出解决思路和代码。
写在前面:
1、项目环境为ENVI5.3.1、IDL8.5,测试数据影像为GF2影像、部分河流矢量,投影均为UTM50N
2、项目需要不启动ENVI,执行裁剪,但希望包含进度