图像处理之图像的灰度变换.doc
《图像处理之图像的灰度变换.doc》由会员分享,可在线阅读,更多相关《图像处理之图像的灰度变换.doc(2页珍藏版)》请在三一文库上搜索。
1、图像处理之图像的灰度变换前面几篇文章介绍的是图像的空间域滤波,其对像素的处理都是基于像素的某一邻域进行的。本文介绍的图像的灰度变换则不同,其对像素的计算仅仅依赖于当前像素和灰度变换函数。灰度变换也被称为图像的点运算(只针对图像的某一像素点)是所有图像处理技术中最简单的技术,其变换形式如下:s = T ( r )其中,T 是灰度变换函数;r 是变换前的灰度;s 是变换后的像素。图像灰度变换的有以下作用: 改善图像的质量,使图像能够显示更多的细节,提高图像的对比度(对比度拉伸) 有选择的突出图像感兴趣的特征或者抑制图像中不需要的特征 可以有效的改变图像的直方图分布,使像素的分布更为均匀常见的灰度变
2、换灰度变换函数描述了输入灰度值和输出灰度值之间变换关系,一旦灰度变换函数确定下来了,那么其输出的灰度值也就确定了。可见灰度变换函数的性质就决定了灰度变换所能达到的效果。用于图像灰度变换的函数主要有以下三种: 线性函数 (图像反转) 对数函数:对数和反对数变换 幂律函数:n次幂和n次开方变换上图给出了几种常见灰度变换函数的曲线图,根据这几种常见函数的曲线形状,可以知道这几种变换的所能达到的效果。例如,对数变换和幂律变换都能实现图像灰度级的扩展/压缩,另外对数变换还有一个重要的性质,它能压缩图像灰度值变换较大的图像的动态范围(例如,傅立叶变换的频谱显示)。线性变换令 r 为变换前的灰度,s为变换后
3、的灰度,则线性变换的函数:s = a r + b其中,a 为直线的斜率,b 为在 y 轴的截距。选择不同的 a,b 值会有不同的效果: a 1,增加图像的对比度 a 图像反转的实现是比较简单的,在 OpenCV 中有对 Mat 的运算符重载,可以直接 Mat r = 255 - img 或者 img 来实现。对数变换对数变换的通用公式是:s = clog ( 1 + r )其中,c 是一个常数,假设 r 0,根据上图中的对数函数的曲线可以看出:对数变换,将源图像中范围较窄的低灰度值映射到范围较宽的灰度区间,同时将范围较宽的高灰度值区间映射为较窄的灰度区间,从而扩展了暗像素的值,压缩了高灰度的值,能够对图像中低灰度细节进行增强。;从函数曲线也可以看出,反对数函数的曲线和对数的曲线是对称的,在应用到图像变换其结果是相反的,反对数变换的作用是压缩灰度值较低的区间,扩展高灰度值的区间。基于 OpenCV 的实现,其对数变换的代码如下:float pixels256; for (int i = 0; i 左边为原图像,其拍摄环境较暗,无法分辨出很多的细节;右边为变换后的图像,整个图像明亮许多,也能分辨出原图中处于暗区域的狗狗的更多细节。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 处理 灰度 变换
链接地址:https://www.31doc.com/p-3407853.html