对数变换(一些基本的灰度变换函数)基本原理及Python实现

1. 基本原理

变换形式如下

$$T(r) = c\lg(r+1)$$

  • c为常数

由于对数函数的导数随自变量的增大而减小,对数变换将输入窄范围的低灰度值扩展为范围宽的灰度值和宽范围的高灰度值压缩为映射为范围窄灰度值。从视觉上,通常是图片变得更亮了

2. 测试结果

对数变换,参数C=1(图源自skimage)

3. 代码

 1 def logarithmic_transformation(input_image, c):
 2     ‘‘‘
 3     对数变换
 4     :param input_image: 原图像
 5     :param c: 对数变换超参数
 6     :return: 对数变换后的图像
 7     ‘‘‘
 8     input_image_cp = np.copy(input_image) # 输入图像的副本
 9
10     output_imgae = c * np.log(1 + input_image_cp.astype(int)) # 输出图像
11
12     return output_imgae

原文地址:https://www.cnblogs.com/iwuqing/p/11297229.html

时间: 2024-10-04 00:01:26

对数变换(一些基本的灰度变换函数)基本原理及Python实现的相关文章

对比度拉伸(一些基本的灰度变换函数)基本原理及Python实现

1. 基本原理 对比度拉伸是扩展图像灰度级动态范围的处理.通过在灰度级中确定两个点来控制变换函数的形状.下面是对比度拉伸函数中阈值处理的代码示例,阈值为平均值. 2. 测试结果 图源自skimage 3. 代码 1 def contrast_stretch(input_image): 2 ''' 3 对比度拉伸(此实现为阈值处理,阈值为均值) 4 :param input_image: 输入图像 5 :return: 对比图拉伸后的图像 6 ''' 7 input_image_cp = np.c

伽马变换(一些基本的灰度变换函数)基本原理及Python实现

1. 基本原理 变换形式 $$s=cr^{\gamma}$$ c与$\gamma$均为常数 可通过调整$\gamma$来调整该变换,最常用于伽马校正与对比度增强 2. 测试结果 图源自skimage 3. 代码 1 def gamma_transformation(input_image, c, gamma): 2 ''' 3 伽马变换 4 :param input_image: 原图像 5 :param c: 伽马变换超参数 6 :param gamma: 伽马值 7 :return: 伽马变

中值滤波器(平滑空间滤波器)基本原理及Python实现

1. 基本原理 一种典型的非线性滤波器就是中值滤波器,它使用像素的一个领域内的灰度的中值来代替该像素的值.中值滤波器通常是处理椒盐噪声的一种有效的手段. 2. 测试结果 图源自skimage 3. 代码 1 import numpy as np 2 3 def median_filter(input_image, filter_size): 4 ''' 5 中值滤波器 6 :param input_image: 输入图像 7 :param filter_size: 滤波器大小 8 :return

均值滤波器(平滑空间滤波器)基本原理及Python实现

1. 基本原理 使用元素的领域内像素的平均值代替该元素,可明显的降低图像灰度的尖锐变换.它的一种重要应用是模糊处理:得到感兴趣的区域的粗略表示,将次要的/小的元素与背景融合,使得主要的/较大的元素变得易于检测 $$ R=\frac{1}{m} \sum_{i=1}^{m} z_{i} $$ $m$为滤波器大小 2. 测试结果 图源自skimage 3. 代码 1 import numpy as np 2 3 4 def means_filter(input_image, filter_size)

使用二阶微分锐化图像(拉普拉斯算子)基本原理及Python实现

1. 拉普拉斯算子 1.1 简介 一种典型的各向同性的微分算子,可用于检测图像中灰度图片的区域 $$ \nabla^{2} f=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}} $$ 根据上述的差分近似可以推导出 $$ \nabla^{2} f(x, y)=f(x+1, y)+f(x-1, y)+f(x, y+1)+f(x, y-1)-4 f(x, y) $$ 1.2 锐化过程 使用拉普拉斯过滤

【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理具体解释

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说.主要通过MFC单文档视图实现显示BMP图片点运算处理.包含图像灰度线性变换.灰度非线性变换.图像阈值化处理.图像均衡化处理等知识,并结合前一篇论文灰度直方图进行展示 .同一时候文章比較具体基础,希望该篇文章对你有所帮助,尤其是刚開始学习的人和学习图像处理的学生. [数字图像处理]一.MFC具体解释显示BMP格式图片 [数字图像处理]二.MFC单文档切割窗体显示图片 [数字图像处理]

图像处理(图像反转,对数变换,幂次变换、分段线性变换)

1.对数变换实现了图像灰度扩展和压缩的功能.它扩展低灰度值而压缩高灰度值,让图像的灰度分布更加符合人的视觉特征. /****************************************************************************** * 作用: 对数变换函数 * 参数: pDst 输出图像的像素数组 * 参数: pSrc 原始图像的像素数组 * 参数: nWidth 原始图像宽度 * 参数: nHeight 原始图像高度 * 参数: a 控制参数,表示曲线

图像的点运算

对于一个数字图像处理系统来说, 一般可以将处理流程分为3个阶段.在获取原始图像 后, 首先是图像预处理阶段, 其次是特征抽取阶段,最后才是识别分析阶段.预处理阶段尤 为重要, 这个阶段处理不好则直接导致后面的工作无法展开. 点运算指的是对图像中的每个像素依次进行同样的灰度变换运算.设r和s分别是输入 图像f(x,y)和输出图像g(x,y)在任一点(x,y)的灰度值,则点运算可以使用下式定义 s=T(r) 其中, T为采用的点运算算子, 表示在原始图像和输出图像之间的某种灰度级映射 关系. 点运算

【数字图像处理之(三)】用图像增强谈灰度变换

前面已经说了,数字图像处理是指通过计算机对数字图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术. 其主要目的有三个方面: 提高图像的视感质量,如进行图像的亮度.彩色变换,增强.抑制某些成分,对图像进行几何变换等,以改善图像的质量. 图像数据的变换.编码和压缩,以便于图像的存储和传输. 提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利.提取特征或信息的过程是模式识别或计算机视觉的预处理.提取的特征可以包括很多方面,如频域特征.灰度或颜色特征.边