数字图像处理中对数变换与Gamma变换
目录
- 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变换相关推荐
- 图像细节增强(直方图均衡化,对数变换,Gamma变换(校正))
图像细节增强(直方图均衡化,对数变换,Gamma变换(校正)) 文章目录 一.直方图均衡化 1.定义 2.原理 3.方法步骤 二.对数变换 1.原理 三.Gamma校正 1.原理 # 前言 重新梳理图 ...
- 数字图像学笔记——4. 直方图计算、线性变换、对数变换、Gamma变换
文章目录 灰度直方图(Gray Histogram) 直方图的计算方法 简单的图像转换方法 线性变换 / 图像翻转(Image Nagatives) 对数变换(Log Transformation) ...
- ML之FE:特征工程处理中常用的数据变换(log取对数变换等)之详细攻略
ML之FE:特征工程处理中常用的数据变换(log取对数变换等)之详细攻略 目录 特征工程处理中常用的数据变换(log取对数变换等)之详细攻略 log取对数变换 特征工程处理中常用的数据变换(log取对 ...
- 【转】数字图像处理中的形态学
原文请看:数字图像处理中的形态学 数字图像处理中的形态学 (摘自某文献,因为贴图的数目有限制,后面的公式图片没有能够上,电脑重装后文档已经找不到了,囧) 一 引言 数学形态学是一 ...
- 数字图像处理:(5)非微分算子在数字图像处理中的应用
本节是非微分边缘检测算子--Canny算子 边缘是图像中灰度有阶跃变化,或屋顶变化的像素的结合. 1. Canny算子边缘检测基本原理 该算子功能比前面几种都要好,但是它实现起来较为麻烦,Can ...
- 数字图像处理中常用图像分割算法有哪些?
数字图像处理中常用图像分割算法有哪些? 1.多数的图像分割算法 2.图像边缘分割 3.图像阈值分割 4.基于区域的分割 5.形态学分水岭算法 多数的图像分割算法 均是基于灰度值的不连续和相似的性质.在 ...
- 【深度学习入门到精通系列】Gamma变换(校正)
文章目录 1 什么是Gamma变换 2 为什么进行Gamma变换 1 什么是Gamma变换 Gamma变换是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: 这个指数即为 ...
- OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换
OpenCV与图像处理学习五--图像滤波与增强:线性.非线性滤波.直方图均衡化与Gamma变换 三.图像滤波与增强 3.1 线性滤波 3.1.1 方框滤波 3.1.2 均值滤波 3.1.3 高斯滤波 ...
- matlab自带图片下载,数字图像处理中Matlab的应用.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > matlab 数字图像处理中Matlab的应用.pdf3页 本文 ...
最新文章
- 渗透各行各业,这家RPA外企宣布全面进军中国市场
- 人为何会发烧,超过42°C会怎样?
- 高并发下redis缓存穿透问题解决方案
- 关于ActionBar的向下兼容
- python查漏补缺--抽象类和接口以及Overrides、函数重载
- Python Twisted 介绍
- 【应用篇】WCF学习笔记(一):Host、Client、MetadataExchage
- Chorme Error 312 (net::ERR_UNSAFE_PORT) | Chorme 不信任端口
- ImageNet的top-1终于上了90%?
- 坐标轨迹计算_机器人的轨迹规划与自动导引
- 2018年流行的vue前端UI框架
- 神经网络模型参数的压缩
- 北大飞跃手册_活动推介|2020年吉林大学飞跃手册预发布会即将召开!
- 学计算机干眼,电脑族预防干眼的7个小妙招_39健康网
- linux qemu的使用教程,详解QEMU网络配置的方法
- 云计算机渲染效果,什么是云渲染?云渲染这么用?
- flarum 微信登录修改
- 年关将至业内警示P2P跑路风险
- MATLAB R2020a导出低版本的simulink模型
- python50行小游戏_50行python代码实现的贪吃蛇小游戏