基于直方图共享的快视图色差调整算法

2018-08-01 01:10周兵孟慧君刘晓楠臧文乾
现代计算机 2018年20期
关键词:色差瓦片直方图

周兵,孟慧君,刘晓楠,臧文乾,2

(1.河南大学,开封 475004;2.中国科学院遥感与数字地球研究所,北京100101)

0 引言

遥感影像具有覆盖面积广、数据量大的特点,所以在对遥感影像进行处理时,一般都会将其切分成若干瓦块数据,以便实现并行处理,从而提高处理速度。同时这也带来一个问题:当生成这些瓦块的快视图时[1],由于不同瓦片包含的地物信息存在差异,造成不同瓦块的颜色范围不一致,这就导致生成的瓦片快视图之间会存在一定色差。对此,本文提出采用基于直方图共享的线性拉伸策略,在较好地解决了快视图之间存在色差问题的同时实现了图像增强的效果。

1 相关研究介绍

图像色差调整是一种常见的图像处理技术,通过色差调整可以获得较好的视觉效果,以便于人和机器对图像进行更好的理解和分析。传统的手工调图法[2]为:首先对图像进行分片,以中间片为基准,判断其他部分与中间部分图像相差多少个DN(Digital Number)值,便分别对它们增减多少个DN值,然后将调色后的图像导入图像软件,查看调图效果,如仍有色差则重复上述过程。从以上步骤可以看出,手工调图法不仅对工作人员的经验要求比较高,而且也比较繁琐。文献[3]提出一种三维调整图像色差值的方法,该方法的主要思路为:首先接收多个色差调整量,这些色差调整量分别对应多个参考亮度值。然后根据色差调整量估计选择区域内各像素所对应的亮度值的目标色差调整量,最后根据选择区域内各像素的目标色差调整量调整选择区域内各像素的色差值。文献[4]提出了一种基于最邻近统计的CCD(Charge-Coupled Device)图像色差消除方法。首先选取动态范围最大的一片CCD作为没有色差的基准图像,然后将与基准图像相邻的CCD成像作为待处理图像,选取临近待处理图像边缘的一列像元,分别计算图像和这一列像元在某个波段下灰度值的平均值,然后得出上述两个平均值的差,并将这个差值加到待处理图像的所有像元上,重复以上操作直到所有片CCD成像处理完成。该方法虽较好地达到了遥感影像色差消除的效果,但是由于该方法是基于各片CCD线阵接边处边缘区域进行的色差调整,所以对整体图像的色差消除效果并不理想。文献[5]提到的2%线性拉伸算法的思路为首先裁剪掉图像直方图中前后各2%的像素点,然后对累积在直方图2%到98%范围内的像素值进行拉伸来增大图像灰度值范围。用该方法得到的图像虽然达到了较好的显示效果,但是并没有很好地解决各瓦片快视图之间存在色差的问题。

综上所述,本文在2%线性拉伸算法的基础上进行改进,提出了基于直方图共享的快视图色差调整算法,为了验证该方法的有效性,在接下来进行了分析实验并对实验结果进行展示。

2 基于直方图共享的快视图色差调整算法

2.1 数据分析

图像拉伸算法主要用来改变图像的灰度值范围,该算法可分为线性拉伸和非线性拉伸两种。线性拉伸也叫做灰度拉伸,是一种像素级的图像处理算法,它通过对像素点按照一维灰度变换函数进行变换,达到拉伸图像灰度区间的目的,进而实现图像显示效果的增强[5]。本文采用的线性拉伸计算方法如公式(1)所示。

其中g(x,y)是拉伸后的影像,f(x,y)是原始影像。本文所采用的是2%线性拉伸算法[5]。该算法根据图像直方图裁剪掉直方图中前后各2%的像素点,以直方图中2%处的灰度值作为最小值Min,98%处的灰度值作为最大值Max,对累积在直方图2%到98%范围内的像素值进行拉伸,以减少异常数据对图像拉伸结果的影响。

通过线性拉伸算法可以看出,线性拉伸算法是在图像直方图的基础上做的线性变化,因此拉伸结果受直方图影响。如图1是同一景遥感影像不同瓦片的对比图,表1为图1中部分瓦片以及整景影像灰度值范围的对比,从上述的图和表可以看出,虽然这多个瓦片同属一景遥感影像,但是由于一景遥感影像所覆盖的地理范围较大且地物信息较复杂,对遥感数据按照五层十五级存储结构[6-7]切片后各瓦片所包含的地物信息差异性较大,所以灰度值范围也不尽相同,从而导致瓦片的直方图信息会存在差异。另外,切分后各个瓦片的直方图并不能反映整景影像的灰度值分布情况,尤其是在图像进行过几何纠正后再切分时,影像的边角存在满幅率不高的瓦片数据,这就使得瓦片的灰度值更加不能反映整景影像的真实灰度值分布情况。所以,如果直接对各个遥感瓦片按照2%线性拉伸算法去除该瓦片灰度直方图中左右各2%的像素点而对其他像素点进行拉伸的话,会使得各瓦片间快视图色差过大,这种情况会导致在进行大范围标准化遥感数据展示时,块与块之间存在肉眼可见的拼接线和色差,影响整体展示效果。

图1 同景影像不同瓦片的对比

图中所示数据为GF1_PMS1_20150325_L1A0000-716987.tif,在上图的红框区域中最上方瓦片数据的行列号为1300_2967,红框中最右侧瓦片数据行列号为1299_2968,与这两个瓦片相接的数据信息为1299_2967。

对整景影像和这三个瓦片的灰度值信息统计如表1所示。

从表中信息可以看出瓦片灰度值的最大值与整景影像的灰度最大值出入较大,这是造成瓦片快视图之间存在色差的主要原因,尤其是对于满幅率较低的瓦片数据,如图1中边缘区域,它们与其他瓦片间的色差则更为明显。

表1 影像灰度值信息

2.2 基于直方图共享的快视图色差调整算法

为解决上述所说的因各瓦片的灰度值与整景影像的灰度值出入较大而造成的瓦片快视图之间存在色差的问题,本文在快视图的生产过程中做了如下改进:在对图像进行分块之前,在整景影像波段分离后,统计各个波段的直方图信息并写入如图2所示的XML以及TXT文件中,在瓦片数据生成快视图时,用整景影像的直方图信息代替瓦片直方图信息,根据整景影像直方图中左右两端各2%的灰度值来决定各瓦片中应去除的像素点,即去除瓦片中灰度值包含在整景影像直方图左右两端各2%灰度值中的像素点,然后对瓦片中其余的像素点进行线性拉伸。改进前和改进后的快视图生成流程对比如图3所示,其中图3(a)为改进前的快视图生成流程图,图3(b)为改进后的快视图生成流程图。

图2 波段统计信息示例图

改进后的快视图生成步骤可简单描述如下:

(1)读取影像波段和投影等相关信息进行波段拆分并计算最小灰度值和最大灰度值,并将统计信息写入文件中保存;

(2)按照五层十五级数据组织结构[6]对输入的影像进行处理,通过投影转换、数据采样等过程生成符合标准的切片数据;

(3)用整景影像直方图代替瓦片直方图去除极端像素点,对每个瓦片数据按照2%线性拉伸算法公式逐像素操作,得到一景影像的多个瓦片快视图。

图3 改进前后快视图生成流程对比

3 试验结果

下图4和图6是快视图模块改进前后效果对比图,以GF1 PMS局部数据和GF2 PMS局部数据为例,图4和图6中左侧图4(a)和图6(a)为方法改进前得到的快视图,右侧图4(b)和图6(b)为改进后效果图。从图中可以看出采用原来的处理方式得到的图像存在颜色过亮、块与块之间颜色不均的问题,而优化后的方法很好地解决了这个问题并达到颜色饱满、地物清晰的效果。上述图像对应的RGB直方图数据如图5和图 7所示,其中图 5(a)和图 7(a)为改进前的 RGB 直方图,图5(b)和图7(b)为改进后RGB直方图。从图中可以看出,改进前得到的直方图近似平均分配,使得不同地物间对比不够明显,而改进后在一定程度上增强了显示效果。

图4 GF1数据快视图前后对比图

图5 GF1数据RGB直方图前后对比图

图6 GF2数据快视图前后对比图

图7 GF2数据RGB直方图前后对比图

4 结语

2%线性拉伸算法可以改善图像的对比度和清晰度,但是由于各瓦片灰度值差异过大等原因,使得各瓦片在处理后生成的快视图之间存在色差。针对该问题,本文通过共享直方图信息策略,在生成各瓦片快视图时用整景影像直方图信息代替瓦片直方图信息对瓦片数据进行选择处理,并运用此方法进行了实验验证。通过对实验结果的对比分析可得,本文提出的基于直方图共享的线性拉伸快视图色差调整算法得到的图像较好地解决了各瓦片之间存在色差的问题,并在一定程度上达到了图像增强的效果。

猜你喜欢
色差瓦片直方图
符合差分隐私的流数据统计直方图发布
CIEDE2000色差公式在彩涂板色差检测上的应用研究
打水漂
基于机器视觉的布匹色差在线检测系统
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于差分隐私的高精度直方图发布方法
乡村瓦语
惯性
汽车车身与外饰件色差控制
涂装色差控制工艺分析