您好、欢迎来到现金彩票网!
当前位置:欢乐棋牌 > 变换保险 >

图像处理基础(7):图像的灰度变换

发布时间:2019-06-26 12:07 来源:未知 编辑:admin

  前面几篇文章介绍的是图像的空间域滤波,其对像素的处理都是基于像素的某一邻域进行的。本文介绍的图像的灰度变换则不同,其对像素的计算仅仅依赖于

  灰度变换也被称为图像的点运算(只针对图像的某一像素点)是所有图像处理技术中最简单的技术,其变换形式如下:

  灰度变换函数描述了输入灰度值和输出灰度值之间变换关系,一旦灰度变换函数确定下来了,那么其输出的灰度值也就确定了。可见灰度变换函数的性质就决定了灰度变换所能达到的效果。用于图像灰度变换的函数主要有以下三种:

  上图给出了几种常见灰度变换函数的曲线图,根据这几种常见函数的曲线形状,可以知道这几种变换的所能达到的效果。例如,对数变换和幂律变换都能实现图像灰度级的扩展/压缩,另外对数变换还有一个重要的性质,它能压缩图像灰度值变换较大的图像的动态范围(例如,傅立叶变换的频谱显示)。

  其中,a为直线的斜率,b为在y轴的截距。选择不同的a,b值会有不同的效果:

  在进行图像增强时,上述的线性变换函数用的较多的就是图像反转了,根据上面的参数,图像反转的变换函数为:\(s = 255-s\)。图像反转得到的是图像的负片,能够有效的增强在图像暗区域的白色或者灰色细节。其效果如下:

  图像反转的实现是比较简单的,在OpenCV中有对Mat的运算符重载,可以直接Mat r = 255 - img或者~img来实现。

  其中,c是一个常数,,假设\(r \geq 0\),根据上图中的对数函数的曲线可以看出:对数变换,将源图像中范围较窄的低灰度值映射到范围较宽的灰度区间,同时将范围较宽的高灰度值区间映射为较窄的灰度区间,从而扩展了暗像素的值,压缩了高灰度的值,能够对图像中低灰度细节进行增强。;从函数曲线也可以看出,反对数函数的曲线和对数的曲线是对称的,在应用到图像变换其结果是相反的,反对数变换的作用是压缩灰度值较低的区间,扩展高灰度值的区间。

  这使用的对数函数的底为10。由于灰度变换是灰度值之间的一对一的映射,而灰度值区间通常为[0,255],所以在进行灰度变换时,通常使用查表法。也就是,现将每个灰度值的映射后的结果计算出来,在变换时,通过查表得到变换后的灰度值。执行上面结果得到的结果如下:

  左边为原图像,其拍摄环境较暗,无法分辨出很多的细节;右边为变换后的图像,整个图像明亮许多,也能分辨出原图中处于暗区域的狗狗的更多细节。

  对数变换,还有一个很重要的性质,能够压缩图像像素的动态范围。例如,在进行傅立叶变换时,得到的频谱的动态范围较大,频谱值的范围通常为\([0,10^6]\),甚至更高。这样范围的值,显示器是无法完整的显示如此大范围的灰度值的,因而许多灰度细节会被丢失掉。而将得到的频谱值进行对数变换,可以将其动态范围变换到一个合适区间,这样就能够显示更多的细节。

  伽马变换的效果与对数变换有点类似,当\(\gamma 1\)时将较窄范围的低灰度值映射为较宽范围的灰度值,同时将较宽范围的高灰度值映射为较窄范围的灰度值;当\(\gamma 1\)时,情况相反,与反对数变换类似。其函数曲线如下:

  当\(\gamma1\)时,\(\gamma\)的值越小,对图像低灰度值的扩展越明显;当\(\gamma1\)时,\(\gamma\)的值越大,对图像高灰度值部分的扩展越明显。这样就能够显示更多的图像的低灰度或者高灰度细节。

  伽马变换主要用于图像的校正,对灰度值过高(图像过亮)或者过低(图像过暗)的图像进行修正,增加图像的对比度,从而改善图像的显示效果。

  这里选择的参数为c = 1,\(\gamma = 3\),来扩展图像的高灰度区域,其结果如下:

  当选择参数为c = 1,\(\gamma = 0.4\),来扩展图像的低灰度区域,其效果如下:

  时,会将低于某个灰度值K的灰度区域压缩到较小的灰度区间,而将高于K的灰度区域扩展到较大灰度区间。令L为灰度的最大值,k = 3/4L . 那么就有

  区间。这样变换的结果就是,低于K的灰度区域被压缩到更低灰度区间,而较亮的高灰度区域的灰度值被扩展到较大的灰度区间变的不那么亮,整体的效果就是图像的对比度增加了,但是由于亮度区域被扩展,也就不那么亮了。

  时,会将灰度值较小的低灰度区域扩展到较宽的灰度区间,而将较宽的高灰度区域压缩到较小的灰度区间。这样变换的效果就是,低灰度区域扩展开来,变亮;而宽的高灰度区域,被压缩的较窄的区间,也变亮了,故变换后的整体效果是变亮了。

  灰度变换属于点对点的一一变换,在实现的时候,可以利用查表法。也就是实现将[0,255]区间的各个灰度值的变换后的值计算出来,在变换的时候直接根据灰度值进行查表得到变换后的结果。其实现如下:

  其调用也比较简单,根据具体的灰度变换函数,填充灰度映射表即可,以伽马变换为例:

  图像反转,是图像线性变换的一种,可以得到图像负片,能够有效的增强图像的暗色区域中的白色或者灰色细节

  对数变换,扩展图像中的低灰度区域,压缩图像中的高灰度区域,能够增强图像中的暗色区域的细节;反对数变换与此相反。对数变换还有个重要作用是,能够压缩图像灰度值的动态范围,在傅立叶变换中能够显示更多的变换后的频谱细节。

http://vuagiamgia.com/bianhuanbaoxian/180.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有