关于影像颜色替换

超图软件日前正式发布SuperMap iObjectsJava/.NET 8C SP1版本,新版本根据用户的特殊需要,对影像颜色值替换功能进行优化和扩展,支持更多的影像颜色值替换形式。

一、影像颜色透明处理

如图 1所示,地图中添加了几幅影像,每幅影像都有黑色的边,由于影像未进行拼接,所以在显示时相互叠合的部分被黑色边所影响,此时要比较好地显示影像叠合的部分就需要将黑色边缘去掉,由于这里仅是浏览一下影像效果,而不想花时间做影像拼接,所以我们可以通过影像图层提供的“透明色”功能以及容限设置,如图 2所示,选中影像图层,在“图层属性”对话框中,在“影像参数”区域,勾选“透明色”复选框,设置需要透明显示的颜色为黑色,并设置合适的“透明色容限”就可以得到如图 2所示的显示效果。

 

1 影像数据(24位真彩色)

 

2 设置透明色为黑色后的效果

 

二、设置无值像元显示颜色

影像数据获取中存在一些无值情况,影像中的无值数据将以一个特殊数值记录,通过查看影像数据的属性信息可以查看无值像元的值,如图 3所示,该影像通过“-32768”记录无值情况。

 

 

3 查看影像数据属性信息

无值表示该区域没有数据信息,在不同的应用中对于影像无值像元的显示要求不同,有的需要将无值像元透明显示,有的则需要以特定的颜色进行显示,这里,这两种处理方式我们都支持。

如图 5所示,给定无值像元的值(这里为:-32768),通过“显示为”可以重新指定无值像元的显示颜色,并可以通过Alpha值(A值)为0,使无值像元透明显示。

 

图 4 原始影像数据(单波段16位影像)

 

5 影像无值像元显示颜色设置

 

图 6 重新指定无值像元显示颜色(左图为红色;右图为透明显示)

三、设置背景值像元显示颜色

在实践应用中,对于影像中某些特殊像元在不同的应用场景下需要显示不同的颜色,例如,高山积雪地区,有些场景下需要显示为白色,而有些应用要显示为黑色,还有些情况需要显示为蓝色。

可以通过栅格分析工具中的“栅格查询”,获取特殊值的具体数值,如图 7所示,也可以通过背景值右侧的“拾取像元值”按钮获得像元值,如图 8所示,获得像元值后就可以为其指定一个新的显示颜色,如下图所示,获取如图 7特殊像元值为0,然后将其设置为红色显示,如图 9所示。

 

 

 7 使用栅格查询获得特殊像元值

 

8 拾取像元值并替换其显示颜色

 

9 将特殊像元值的显示颜色设置为蓝色

补充说明:

支持以上操作的影像数据的像素格式包括:8位无符号、8位多波段、24位真彩色、32位真彩色。

转载自:https://blog.csdn.net/supermapping/article/details/50510760

You may also like...