发明名称 一种Linux环境下生成遥感图像快视图的方法
摘要 一种Linux环境下生成遥感图像快视图的方法,属遥感图像处理技术领域,该方法步骤为:1)BSQ格式图像生成TIF格式图像:a.线性映射;b.图像数据小数部分预处理;c.图像数据按阈值裁剪;d.直方图均衡化;e.生成TIF格式影像文件;2)生成JPEG格式快视图文件。本发明的有益效果如下:1、本方法提供的快视图生成方法简单,易操作,生成的快视图能较为准确的描述高光谱图像当前波段的数据信息;2、本发明提供的数据处理从32位单精度浮点型转换为8位无符号字符型数据,该量化方法噪声较小。
申请公布号 CN102903089B 申请公布日期 2014.12.17
申请号 CN201210330874.4 申请日期 2012.09.07
申请人 山东大学 发明人 马丕明;张璇
分类号 G06T5/40(2006.01)I 主分类号 G06T5/40(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 许德山
主权项 一种Linux环境下遥感图像快视图生成的方法,生成快视图过程中所用到的遥感图像数据是由原始高光谱图像经处理后得到的BSQ格式的图像数据文件,该图像文件数据格式为32位单精度浮点型类型,生成快视图时处理的是单波段的图像数据信息,该方法步骤如下:1)BSQ格式图像生成TIF格式图像因为不能直接将高光谱图像数据从BSQ格式转换成JPEG格式,所以必须先将BSQ格式的高光谱图像数据转换成TIF格式的图像,然后再从TIF格式转换成JPEG格式;生成TIF格式图像步骤处理如下:    a.线性映射由于处理高光谱图像数据时,其数据范围大小不一,不存在统一的区间,不方便后续处理,所以预先将待处理的BSQ格式的图像数据大小统一映射到区间[0.0,65535.0],之所以选择该区域的原因在于其原始数据处理成BSQ格式数据文件时,其数据整数部分完全在16位无符号短整型数据大小范围之内; 根据全域线性拉伸函数将图像数据线性拉伸到区间[0.0,65535.0];全域线性拉伸算法如下:假定原图像像素f(x,y)的灰度区间范围为[a,b],希望增强后图像像素g(x,y)的灰度范围扩展到[c,d],则线性拉伸的基本公式为:<img file="585426dest_path_image001.GIF" wi="161" he="40" />由此,先计算BSQ格式的单波段图像像素中的最大灰度值max及最小灰度值min,然后确定其映射公式如下:<img file="402073dest_path_image002.GIF" wi="172" he="40" />该部分处理完后数据类型仍然为32位单精度浮点型;    b.图像数据小数部分预处理采用强制类型转换直接将32位单精度浮点型数据转换为16位无符号短整型数据:由于强制类型转换时计算机采用的是退1算法,直接将小数部分截断,故采取了将图像数据值加上0.5之后再进行强制类型转换,由此实现了计算机对小数的四舍五入算法; c.图像数据按阈值裁剪在图像数据小数部分处理完毕之后,将累积概率分布在2%至98%之外的图像数据值进行裁剪,将累积概率在0到2%范围内的数据值赋值为累积概率为2%时所对应的数据值,将累积概率在98%到100%范围内的数据值赋值为累积概率为98%时所对应的数据值;    d.直方图均衡化进行直方图均衡化,在均衡的过程中将16位的无符号短整型图像数据转化为8位的无符号字符型图像数据,即将生成的图像像素值映射到区间[0,255],以便于生成8位的TIF格式图像影像;直方图均衡化是对原始图像中的像素灰度做某种映射变换,使变换后的图像灰度的概率密度是均匀分布的,即变换后图像是一幅灰度级均匀分布的图像,从而图像灰度的动态范围得到了增加,提高了图像的对比度;直方图均衡化具体实现方法:先将直方图归一化,即把灰度范围压缩至[0,1],归一化的直方图相当于一个概率密度函数,均衡化就是令概率密度为1; r、s分别代表均衡化前后的灰度值,<img file="139085dest_path_image003.GIF" wi="64" he="25" />; 对于图像而言,需要利用其离散形式公式,原图像中某个灰度级像素出现的概率为:<img file="662470dest_path_image004.GIF" wi="89" he="25" />;其中<img file="905363dest_path_image005.GIF" wi="42" he="25" />是原图像中第k个灰度级像素出现的概率,<img file="146989dest_path_image006.GIF" wi="16" he="22" />是第k个灰度级,<img file="422112dest_path_image007.GIF" wi="18" he="22" />是第k个灰度级<img file="65583dest_path_image006.GIF" wi="16" he="22" />出现的像素个数,N是图像像素总数;由图像的灰度直方图均衡化公式得出均衡化之后的图像的灰度值s:<img file="463067dest_path_image008.GIF" wi="192" he="44" />公式中,<img file="191988dest_path_image009.GIF" wi="38" he="25" />来表示原图像的第k个灰度级的转换函数,<img file="270803dest_path_image010.GIF" wi="56" he="44" />表示0~k个灰度级的像素数量之和与图像像素总数的比值,也就是当前灰度级<img file="768780dest_path_image006.GIF" wi="16" he="22" />出现的累积概率,<img file="353476dest_path_image011.GIF" wi="60" he="44" />则表示第0~k的灰度级出现概率累积相加;因为s是归一化的数值,要转换为0~255的颜色值,需要再乘上255,即<img file="304115dest_path_image012.GIF" wi="116" he="44" />,<img file="186620dest_path_image013.GIF" wi="14" he="18" />为灰度范围均衡化到[0,255]范围后的图像的灰度值;e.生成TIF格式影像文件调用GDAL数据库中的GDALDatasetRasterIO()函数,将处理后的单波段图像波段数据写入TIF格式文件,生成相应的TIF格式影像文件;2)生成JPEG格式快视图文件调用GDAL数据库中的GDALOpen()函数, 打开生成的TIF格式图像影像文件,然后调用GDALCreateCopy()函数,将图像另存为JPEG格式图像,生成JPEG格式快视图图像。
地址 250100 山东省济南市历城区山大南路27号