目录

  • 1.对数变换
  • 2.伽马变换
  • 参考链接:

1.对数变换

图像的对数变换主要的作用是压缩动态范围,原因是对数曲线在像素值较低的区域斜率大,在像素值较高的区域斜率较小,所以图像经过对数变换后,较暗区域的对比度将有所提升,所以就可以增强图像的暗部细节。

其中,ccc是一个常数,fff是浮点数。对数变换可以将图像的低灰度值部分扩展,显示出低灰度部分更多的细节,将其高灰度值部分压缩,减少高灰度值部分的细节,从而达到图像偏暗的图像增强的目的,其逆变换可以强调高灰度。底数越大,对低灰度部分的强调就越强,对高灰度部分的压缩也就越强。相反的,如果想强调高灰度部分,则用反对数函数就可以了。

MATLAB代码实现:

f=imread('lowlight_2.jpg');
g=im2uint8(mat2gray(log(1+double(f)))); %灰度变化
%画图
subplot(1,2,1),imshow(f);title('原图');
subplot(1,2,2),imshow(g);title('对数变换后的图像');

为了使压缩的值出现在显示的完整范围,使用函数mat2gray会将值限定再[0,1]范围内,使用函数im2uint8会将值限定在[0,225]范围内,把图像转化为uint8类。

可以看出,图像对低灰度值部分扩展,增强了低灰度部分,显示出低灰度部分更多的细节。

2.伽马变换

伽马变换主要用于图像的校正,将漂白的图片或者是过黑的图片,进行修正。伽马变换也常常用于显示屏的校正,这是一个非常常用的变换。与对数变换相似,Gamma变换属于非线性操作,非线性变换的主要目的是通过灰度值映射增强目标域数据分布,达到对比度增强的目的。Gamma变换可以根据参数变换的更加灵活,其灰度变换函数定义如下:


MATLAB代码利用Gamma函数实现:

f = imread('office_1.jpg');
g1=imadjust(f,[],[],1);
g2=imadjust(f,[],[],0.3);
g3=imadjust(f,[],[],2);
subplot(2,2,1),imshow(f);title('原图');
subplot(2,2,2),imshow(g1);title('gamma=1');
subplot(2,2,3),imshow(g2);title('gamma=0.3');
subplot(2,2,4),imshow(g3);title('gamma=2');

当 gamma=1gamma = 1gamma=1 的时候,输出值等于输入值,只会有原图的显示效果
当 gamma>1gamma >1gamma>1 的时候,低灰度区域的动态值变小,高灰度区域的动态值变大,降低了低灰度区域图像的对比度,提高了高灰度值区域图像的对比度, 图像整体变暗。
当 gamma<1gamma <1gamma<1 的时候,低灰度区域的动态值变大,进而图像对比度增强,高灰度值区域,动态值变小,图像整体变亮。

参考链接:

https://blog.csdn.net/m0_56838271/article/details/127462598

数字图像处理中对数变换与Gamma变换相关推荐

  1. 图像细节增强(直方图均衡化,对数变换,Gamma变换(校正))

    图像细节增强(直方图均衡化,对数变换,Gamma变换(校正)) 文章目录 一.直方图均衡化 1.定义 2.原理 3.方法步骤 二.对数变换 1.原理 三.Gamma校正 1.原理 # 前言 重新梳理图 ...

  2. 数字图像学笔记——4. 直方图计算、线性变换、对数变换、Gamma变换

    文章目录 灰度直方图(Gray Histogram) 直方图的计算方法 简单的图像转换方法 线性变换 / 图像翻转(Image Nagatives) 对数变换(Log Transformation) ...

  3. ML之FE:特征工程处理中常用的数据变换(log取对数变换等)之详细攻略

    ML之FE:特征工程处理中常用的数据变换(log取对数变换等)之详细攻略 目录 特征工程处理中常用的数据变换(log取对数变换等)之详细攻略 log取对数变换 特征工程处理中常用的数据变换(log取对 ...

  4. 【转】数字图像处理中的形态学

    原文请看:数字图像处理中的形态学 数字图像处理中的形态学 (摘自某文献,因为贴图的数目有限制,后面的公式图片没有能够上,电脑重装后文档已经找不到了,囧) 一    引言         数学形态学是一 ...

  5. 数字图像处理:(5)非微分算子在数字图像处理中的应用

    本节是非微分边缘检测算子--Canny算子 边缘是图像中灰度有阶跃变化,或屋顶变化的像素的结合.   1.  Canny算子边缘检测基本原理 该算子功能比前面几种都要好,但是它实现起来较为麻烦,Can ...

  6. 数字图像处理中常用图像分割算法有哪些?

    数字图像处理中常用图像分割算法有哪些? 1.多数的图像分割算法 2.图像边缘分割 3.图像阈值分割 4.基于区域的分割 5.形态学分水岭算法 多数的图像分割算法 均是基于灰度值的不连续和相似的性质.在 ...

  7. 【深度学习入门到精通系列】Gamma变换(校正)

    文章目录 1 什么是Gamma变换 2 为什么进行Gamma变换 1 什么是Gamma变换 Gamma变换是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: 这个指数即为 ...

  8. OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换

    OpenCV与图像处理学习五--图像滤波与增强:线性.非线性滤波.直方图均衡化与Gamma变换 三.图像滤波与增强 3.1 线性滤波 3.1.1 方框滤波 3.1.2 均值滤波 3.1.3 高斯滤波 ...

  9. matlab自带图片下载,数字图像处理中Matlab的应用.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab 数字图像处理中Matlab的应用.pdf3页 本文 ...

最新文章

  1. 渗透各行各业,这家RPA外企宣布全面进军中国市场
  2. 人为何会发烧,超过42°C会怎样?
  3. 高并发下redis缓存穿透问题解决方案
  4. 关于ActionBar的向下兼容
  5. python查漏补缺--抽象类和接口以及Overrides、函数重载
  6. Python Twisted 介绍
  7. 【应用篇】WCF学习笔记(一):Host、Client、MetadataExchage
  8. Chorme Error 312 (net::ERR_UNSAFE_PORT) | Chorme 不信任端口
  9. ImageNet的top-1终于上了90%?
  10. 坐标轨迹计算_机器人的轨迹规划与自动导引
  11. 2018年流行的vue前端UI框架
  12. 神经网络模型参数的压缩
  13. 北大飞跃手册_活动推介|2020年吉林大学飞跃手册预发布会即将召开!
  14. 学计算机干眼,电脑族预防干眼的7个小妙招_39健康网
  15. linux qemu的使用教程,详解QEMU网络配置的方法
  16. 云计算机渲染效果,什么是云渲染?云渲染这么用?
  17. flarum 微信登录修改
  18. 年关将至业内警示P2P跑路风险
  19. MATLAB R2020a导出低版本的simulink模型
  20. python50行小游戏_50行python代码实现的贪吃蛇小游戏

热门文章

  1. 系统权限设计 - 基本概念和思路
  2. IPV6_PPPOE服务器搭建
  3. 达梦数据库更新License
  4. 单点登录简单原理(应用多系统)
  5. Detours学习之二:常见问题(FAQ)
  6. arm平台linux的ethtool配置,ARM-Linux驱动--DM9000网卡驱动分析(四)
  7. proteus仿真数码管
  8. 微信小程序利用swiper+scroll-view实现Tab切换
  9. 理解BERT:一个突破性NLP框架的综合指南
  10. pkcs5 padding和pkcs7 padding的区别