学习DIP第37天
转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意。有些网站转载了我的博文,很开心的是自己写的东西被更多人看到了,但不开心的是这段话被去掉了,也没标明转载来源,虽然这并没有版权保护,但感觉还是不太好,出于尊重文章作者的劳动,转载请标明出处!!!!
文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro
开篇废话
废话开始,灰度变化早在学习DIP刚开始的几篇中已经介绍了,准确的说是实现了,但没有讲原理,提供了代码和处理结果,今天主要介绍下原理,对于灰度变换,一定要明确一点,灰度变换是针对灰度的,与图像中的位置无关,也就是说,灰度变换是用新灰度代替对应的旧灰度,而新灰度与旧灰度的映射关系,根据相关模型确定,今天我们学习的模型有:
- 图像反转
- 对数变换
- 幂律(伽马)变换
- 分段线性变换
灰度变换数学
图像反转:用互补灰度代替原灰度(互补灰度,是我自己编出来的,对与灰度a假设灰度级别一共有255,那么互补灰度就是255-a,式子中L-1为灰度级)
对数变换:r为原始灰度,1+r为了log函数为正值,参数c为了保证r属于[0,L-1]并且新的灰度值s也属于[0,L-1].
幂律变换:也叫伽马变换或伽马校正,阴极射线管CRT设备,存在灰度和电压的幂律响应,gama值1.7到2.5
分段线性:与分段函数相似,不同的定义域有不同的变换函数
代码与效果
代码在这里,用力戳:http://blog.csdn.net/tonyshengtan/article/details/41009683
总结
灰度变换的主要目的是改变对比度,而且针对灰度进行操作,一般的做法是建立一个映射表,大小为灰度级大小,然后根据不同的变换函数生成映射,将输入图片根据映射表产生输出,计算速度很快,时间复杂度为图像总的像素个数。