第四讲 灰度直方图变换

合集下载

05第四章 图像增强1-直方图变换

05第四章 图像增强1-直方图变换

产生一个s值。变换函数T(r)应满足下许列的范条围件内:。
(1) 在0≤r≤1区间内,T(r)值单调增加;
(2) 对于0≤r≤1, 有 0≤T(r)≤1
图像直方图
基础
定义 性质 计算 应用
通过变换函数T(r)可以控制图像灰度级的 概率密度函数,从而改变图像的灰度层次。 这就是直方图修改技术的理论基础。
图像增强
一.应用 空间域
图像增强
频率域
二. 分类 1.直接灰度变换
1.高通滤波
2.直方图变换
三. 内容 3.平滑滤波
2.低通滤波 3.带通和带阻滤波
4.锐化滤波
4.同态滤波
灰度变换
4.1 直接灰度变换
一.概述 二. 分类
1. 定义 2. 目的
概述 分类
灰度变换
概述
概述 分类
1、定义: 将一个灰度区间映射到另一个灰度区间的变换
(1) 初始化:pBuffer[k]=0 ; k=0, …, L-1。 (2) 统计:pBuffer[f(x, y)]++ ; x, y =0, …, M1, 0, …, N-1。 (3) 归一化:pBuffer[f(x, y)]/M*N。 其中,直方图的归一化是一个可选项。
图像直方图
示例图
定义 性质 计算 应用
1. 一般离散形式下的计算
用rk代表离散灰度级,用pr(rk)代表pr(r)且有下式成立:
pr (rk )
nk n
0 rk 1 k 0,1,2,, l 1 (4-1)
式中:nk:图像中出现rk级灰度的像素数,
n:图像像素总数,nk/n:频数。
图像直方图
定义 性质 计算 应用
2. 步骤

灰度直方图

灰度直方图

1.灰度直方图灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。

如下图所示,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图象的最基本的统计特征。

从概率的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数pdf(probability density function),而概率分布函数就是直方图的累积和,即概率密度函数的积分,如下图所示:若直接从代表每种灰度的象素数目的直方图来观察,常用如下的表示:drr dP r p dr r p r P r)()(,)()(0==⎰∑⎰⎰⎰===≈======ki ik k k k k rrnnr P n n r p n r n A dAr p dr drr H A r P A drr dA A r H r p drr H A dr r H r A 00000025500)()()(1)(1)(,/)()()()()(,)()(,而概率分布函数,则概率密度的象素数为,灰度为若记象素总数为,时,在离散情况下,取概率密度象素总数一幅图象的总面积,或灰度直方图的计算是很简单的,依据定义,若图象具有L(通常L=256,即8位灰度级)级灰度,则大小为MxN的灰度图象f(x,y)的灰度直方图hist[0…L-1]可用如下计算获得:1. 1.初始化 hist[k]=0 ; k=0,…,L-12. 2.统计 hist[f(x,y)]++ ; x, y =0,…,M-1, 0,…,N-13. 3.标准化 hist[f(x,y)]/=M*N2.直方图均衡化直方图均衡化是通过灰度变换将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。

设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象A(x,y)转换为输出图象B(x,y),输入图象的直方图为HA (r),输出图象的直方图为HB(s),则它们的关系可由如下过程导出:例如,下图是直方图均衡化后的飞机图片及其直方图,可见其直方图与原图的直方图相比是很均衡的,但必须说明的是,离散情况下不可能作到绝对的一致。

灰度直方图

灰度直方图

第三章灰度直方图目录1.灰度直方图2.直方图均衡化3.直方图规范化4.色彩直方图作业1.灰度直方图灰度直方图(histogram)是灰度级的函数,是图象的最基本的统计特征。

它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。

如下图所示,横坐标:灰度-r纵坐标:为某一灰度值ri的像素个数ni,或是灰度出现的概率P(r)从概率的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数pdf(probability density function),而概率分布函数就是直方图的累积和,即概率密度函数的积分,如下图所示:灰度直方图的计算是很简单的,依据定义,若图象具有L (通常L=256,即8位灰度级)级灰度,则大小为MxN的灰度图象f(x,y)的灰度直方图hist[0…L-1]可用如下计算获得:1.初始化hist[k]=0 ; k=0,…,L-12.统计hist[k] ; x, y =0,…,M-1, 0,…,N-13.如果需要标准化,则hist[k]/=M*N例:直方图算法实现例: 通过直方图求图像中的灰度的最大、最小和中值。

例:通过直方图求图像的亮度和对比度。

注2:图像的亮度和对比度图像的亮度(brightness ):即图像矩阵的平均值,其值越小越暗。

Brightness=图像的对比度(contrast ):即图像矩阵的均方差(标准差),对比度越大,图像中黑白反差越明显。

Contrast=1100(,)MN y x g x y M N −−==×∑∑11200((,))M N y x M Ng x y brightness −−==×−∑∑1)unsigned long hist[256]; unsigned char *pCur;for(int i=0;i<256;i++)hist[i]=0;int ImgSize=width*height;for(i=0,pCur=pImg;i<ImgSize;i++) hist[*(pCur++)]++;2)for (g=255;g>=0;g--)if (hist[g])break;maxGray=g;for (g=0;g<256;g++)I f (hist[g])break;minGray=g;for(g=sum=0;g<256;g++) {sum+=hist[g];if (sum>=ImgSize/2)break;}medGray=g;3)for(g=sum=0;g<256;g++)sum+=g*hist[g];brightness=1.0*sum/ImgSize;for(g=sum=0;g<256;g++)sum+= (g-brightness)* (g-brightness)*hist[g]; contrast=sqrt(sum/ImgSize);直方图具有很多的优点,直方图能反映图象的概貌,比如图像中有几类目标,目标和背景的分布如何;通过直方图可以直接计算图像中的最大亮度、最小亮度、平均亮度、对比度以及中间亮度等。

第四讲灰度直方图变换

第四讲灰度直方图变换
ps(s)pr(r)d drspr(r)d d[sT1(s)]
因此,变换变量s的概率密度函数由输入图像的概率密度函数和所选 择的变换函数决定。
第四讲灰度直方图变换
在图像处理中一个尤为重要的变换函数如下所示:
r
s T(r) pr()d
0
是积分变量。上式两端对r求导:
d drsdd(T rr)d dr0 r pr()dpr(r)
第四讲 灰度直方图变换
Lecture 4 Gray-level Histogram Transformations
第四讲灰度直方图变换
图像灰度直方图(histogram)
一、定义
灰度直方图反映的是一幅图像中各灰度级像素 出现的频率。以灰度级为横坐标,纵坐标为灰度级 的频率,绘制频率同灰度级的关系图就是灰度直方 图。它是图像的一个重要特征,反映了图像灰度分 布的情况。
亮度范围内
(b)
(d) 高对比度,灰度级在整个动态范围内 均匀分布
(c)
(a)
注:图像来自R.C.Gonz第al四ez讲灰度直方图变换
(d)
绘制直方图使用函数imhist(f)
1600 1400 1200 1000 800 600 400 200
0 0
50
100
150
200
250
横坐标表示灰度值,纵坐标表示各灰度值出现的次数或概率
上式表明,当变换 函数为r的累积直 方图函数时,能达 到直方图均衡化的 目的。
从基本微积分学(莱布尼茨准则),我们知道关于上限的定 积分的导数就是该上限的积分值。该结果代入公式 ps(s)pr(r)d drspr(r)d d[sT1(s)] 得到:
ps(s)pr(r)d drspr(r)pr1(r) 1

灰度直方图的概念灰度变换的原理

灰度直方图的概念灰度变换的原理

取样定理
取样定理的意义:取样定理指出了要使取 样信号能不失真地描述原信号,其采样频 率必须大于或等于信号所含有最高截止频 率的2倍
傅立叶频谱特点


从分布上看,频谱中心位于屏幕中心,呈 辐射状分布:离中心点越近,频率越低, 能量越大;反之。频率越高,能量越小。 频谱中心反映图像平均亮度,低频区域反 映图像实体细节,高频区域反映图像边缘 轮廓。
直方图线性(尺度)变换
s
255 255
g
g
b
gb
g b
P(s)
ga
ga
a
a b
255
f
P(r)
结果分析?
a
b
255
直方图均衡化和指定化
直方图均衡化是对在图像中像素个 数多的灰度级进行展宽,而对像素个 数少的灰度级进行缩减,将直方图的 分布变成均匀分布,从而达到清晰图 像的目的。 直方图指定化是把已知直方图的图 像变为期望直方图的图像。
第六章 图像恢复与重建


图像退化因素 退化模型的框图及描述 三种最常见的有约束的图像恢复方法及其条件 什么是盲目去卷积恢复? 什么是图像的几何畸变?
第七章 图像特征与分析

图像分析的目的 图像特征的种类 图像的形态运算包括哪些? 什么是图像纹理?纹理分析的主要方法? 图像形状的体现形式有哪些?形状分析有哪 些方法?
第四章 图像分割



图像分割的概念 图像分割的理论基础与方法 边界搜索跟踪的原理 门限化分割的原理 差分、梯度、拉普拉斯边缘检测的原理 区域生长法的原理(具体分析)
第五章 图像编码与压缩



图像数据冗余度概念,压缩编码的分类 帧内预测的原理与工作过程(对DPCM的原理和过程 进行分析) 帧间预测的原理与应用 变换编码能实现压缩的原理及应用 行程编码的原理及应用 哈夫曼编码的原理及应用(具体计算,包括熵、编码 平均长度、编码效率) JPEG压缩标准的压缩步骤

第4章直方图和灰度变换

第4章直方图和灰度变换

第4章直方图和灰度变换第四章Fra bibliotek图像增强与平滑
Lena图像及直方图 (a) Lena图像;(b) Lena图像的直方图
第4章直方图和灰度变换
第四章 图像增强与平滑
钟楼图像及直方图 (a)钟楼图像;(b)钟楼图像的直方图
第4章直方图和灰度变换
第四章 图像增强与平滑
4.2.4
一幅给定图像的灰度级分布在0≤r≤1范围内,可以对[0, 1] 区间内的任一个r值进行如下变换:
第四章 图像增强与平滑
第四章 图像增强与平滑
4.1 背景知识 4.2 直方图 4.3 灰度变换 4.4 图像噪声 4.5 去除噪声 4.6 图像锐化 4.7 图像的伪彩色处理
第4章直方图和灰度变换
第四章 图像增强与平滑
图像处理中最具有吸引力的领域之一
增强的首要目标是处理图像,使其比原始图像更适合于 特定应用。其技术主要包括直方图修改处理、图像平 滑、图像锐化及彩色处理等。
2r
(a)
s=T(r)
pr(s)
1.0 0.8 0.6 0.4 0.2
0 0.20.40.60.81.0 r
(b)
1.0 0.8 0.6 0.4 0.2
0 0.20.40.60.81.0 r
(c)
直方图均衡化处理
第4章直方图和灰度变换
第四章 图像增强与平滑
当灰度级是离散值时,
pr(rk)n nk 0rk1k0,1, ,l1
O
r
O
r
O
r
s
s
s
O
r
O
r
O
r
常见的几种非线性变换函数
第4章直方图和灰度变换
第4章直方图和灰度变换

04第四讲 直方图及点运算

04第四讲 直方图及点运算
5. 直方图的作用:边界阈值选择
第 四 讲 直 方 图 及 点 运 算
4.1 灰度直方图
5. 直方图的作用:边界阈值选择
第 四 讲 直 方 图 及 点 运 算
频率
0
100
阈值 T
200
255 灰度
双峰直方图与阈值的确定
4.1 灰度直方图
5. 直方图的作用:边界阈值选择
第 四 讲 直 方 图 及 点 运 算
int iWidth = pDib->GetWidth(); int iHeight = pDib->GetHeight(); int iBitsWidth = pDib->GetBitsWidth(); unsigned char * lpPixel; LPSTR lpStartBit = pDib->GetPixelBit(); int i,j; // 获取图像宽度 // 获取图像高度 // 获取图像存储宽度 // 指向像素的指针 // 图像数据起始位置 // 循环变量
b
c
f
4.3 线性变换
6. 线性变换五 分段线性变换
第 四 讲 直 方 图 及 点 运 算
4.3 线性变换
7. 线性变换六
g
锯齿波变换
第 四 讲 直 方 图 及 点 运 算
d
灰度区间[0,a]变换为[0,d] ; 灰度区间[a,b]变换为[0,d] ; 灰度区间[b,c]变换为[0,d] 。
图像数据
内容回顾
位图文件头 位图信息头 调色板
调色板:颜色查找表,Look Up Table (LUT),由若干个颜色表项构成,每个 表项长度为4bit。 单色DIB:2个表项; 16色DIB:16个表项; 256色DIB:256个表项; 真彩色DIB:无调色板。 Typedef struct tag RGBQUAD { BYTE rgbBlue; //该颜色的蓝色分量 BYTE rgbGreen; //该颜色的绿色分量 BYTE rgbRed; //该颜色的红色分量 BYTE rgbReserved; //保留值,不考虑 } RGBQUAD;

图像增强—灰度变换及直方图均衡化试验目的试验原理及知识点

图像增强—灰度变换及直方图均衡化试验目的试验原理及知识点

图像增强—灰度变换及直方图均衡化一、实验目的1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。

2、掌握直接灰度变换的图像增强方法。

3、掌握灰度直方图的概念及其计算方法;4、掌握直方图均衡化的计算过程;二、实验原理及知识点1、图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。

其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。

图像增强可以在空间域中执行,也可以在变换域中执行。

2、空间域指的是图像平面本身,在空间域内处理图像是直接对图像的像素进行处理。

空间域处理方法分为两种:灰度级变换、空间滤波。

空间域技术直接对像素进行操作,其表达式为g(x,y)=T[f(x,y)]其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定邻域内。

定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域。

此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的邻域。

T应用于每个位置(x,y),以便在该位置得到输出图像g。

在计算(x,y)处的g值时,只使用该领域的像素。

2、灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个灰度变换函数。

由于灰度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。

灰度拉伸又叫对比度拉伸是最基本的一种灰度变换,使用简单的分段线性变换函数,可以提高灰度的动态范围,适用于低对比度图像的处理,增强对比度。

3、直方图是多种空间城处理技术的基础。

直方图操作能有效地用于图像增强。

除了提供有用的图像统计资料外,直方图固有的信息在其他图像处理应用中也是非常有用的,如图像压缩与分割。

第4章图像增强1灰度变换PPT课件

第4章图像增强1灰度变换PPT课件

pr(rk)n n k
k0,1,2, ,L1
式中: n是一幅图像的像素总数; L是灰度级的总数目; rk表示第k个灰度 级; nk为第k级灰度的像素数; pr(rk)表示该灰度级出现的频率,是对其出 现概率的估计。在直角坐标系中做出rk与pr(rk)的关系图形,称为该图像的
直方图。其横坐标表示灰度级,纵坐标表示该灰度级出现的次数或频率。对
连续图像,直方图的纵坐标表示灰度级出现的概率密度。
7
直方图
1 2 34 5 6 6 4 32 2 1 1 6 64 6 6 3 4 56 6 6 1 4 66 2 3 1 3 64 6 6
1 2 34 5 6 5 4 5 6 2 14
图像灰度直方图
8
直方图
直方图的性质: (1) 直方图是一幅图像中各灰度级出现频数的统计
作。
4
空域处理表示
如果用s 和t 分别代表 f 和 g 在(x,y)处的灰
度值,则空间域处理就表示为: t T(s)
下图是增强对比度的T操作:
5
空域点处理增强
灰度变换方法
直接灰度变换法 直方图修正法
线性变换 分段线性 非线性变换 直方图均衡化 直方图规定化
6
直方图
直方图
直方图是灰度级的函数,它反映了图像中每一灰度级出现的次数(该 灰度级的像素数)或频率(该灰度级像素数与图像总像素数之比)。对数字 图像,直方图可表示为
t3 6 n t3 98p t 5 ( s t3 ) 0 .24 t4 7 n t4 44p t 8 ( s t4 ) 0 .11
50
直方图规定化

(2)对规定直方图像操作:
v 0 0 .0 T 0 u ( u 0 ) v 1 0 .0 T 0 u ( u 1 ) 0

图像灰度变换、二值化、直方图

图像灰度变换、二值化、直方图

图像灰度变换、⼆值化、直⽅图1、灰度变换1)灰度图的线性变换Gnew = Fa * Gold + Fb。

Fa为斜线的斜率,Fb为y轴上的截距。

Fa>1 输出图像的对⽐度变⼤,否则变⼩。

Fa=1 Fb≠0时,图像的灰度上移或下移,效果为图像变亮或变暗。

Fa=-1,Fb=255时,发⽣图像反转。

注意:线性变换会出现亮度饱和⽽丢失细节。

2)对数变换t=c * log(1+s)c为变换尺度,s为源灰度,t为变换后的灰度。

对数变换⾃变量低时曲线斜率⾼,⾃变量⼤时斜率⼩。

所以会放⼤图像较暗的部分,压缩较亮的部分。

3)伽马变换y=(x+esp)γ,x与y的范围是[0,1], esp为补偿系数,γ为伽马系数。

当伽马系数⼤于1时,图像⾼灰度区域得到增强。

当伽马系数⼩于1时,图像低灰度区域得到增强。

当伽马系数等于1时,图像线性变换。

4)图像取反⽅法1:直接取反imgPath = 'E:\opencv_pic\src_pic\pic2.bmp';img1 = imread(imgPath); % 前景图img0 = 255-img1; % 取反景图subplot(1,2,1),imshow(img1),title('原始图像');subplot(1,2,2),imshow(img0),title('取反图像');⽅法2:伽马变换Matlab:imadjust(f, [low_in, high_in], [low_out, high_out], gamma)[low_in, high_in]范围内的数据映射到 [low_out, high_out],低于low的映射到low_out, ⾼于high的映射到high_out. imgPath = 'E:\opencv_pic\src_pic\pic2.bmp';img1 = imread(imgPath); % 前景图img0 = imadjust(img1, [0,1], [1,0]);subplot(1,2,1),imshow(img1),title('原始图像');subplot(1,2,2),imshow(img0),title('取反图像');2、⼆值化1)rgb2gray⼀般保存的灰度图是24位的灰度,如果改为8bit灰度图。

灰度直方图

灰度直方图

3.1灰度直方图均衡灰度级变换的定义灰度级变换(点运算)的定义★对于输入图象f(x,y),灰度级变换T将产生一个输出图像g(x,y),且g(x,y)的每一个像素值都是由f(x,y)的对应输入像素点的值决定的,g(x,y)=T(f(x,y))。

★对于原图象f(x,y)和灰度值变换函数T(f(x,y)),由于灰度值总是有限个(如:O~2 5 5),非几何变换可定义为:R=T(r),其LlJ R、r(O.255)。

灰度级变换的实现灰度级变换(点运算)的实现R=T(r)定义了输入像素值与输出像素之间的映射关系,通常通过查表来实现。

灰度级变换实例1、图象求反2、对比度拉伸3、动态范围压缩4、灰度级切片编辑本段图像的灰度直方图总述灰度直方图(histogram)统计了图象中各个灰度级的象素的个数。

灰度直方图的计算若图象具有L级灰度(通常L=256,即8位灰度级),则大小为m(n的灰度图象f(x,Y)的灰度直方图H[k],k=0…L-1,可按如下步骤计算获得:1)初始化:for(k=O;k<L;k++)H[k]=O;2)统计:for(x=O;x<m;x++)for(y=O;y<n;y++)H[f(x,y)]++;3)规格化:flOr(x=O;x<m;x++)for(y=O;y<n;y++)H[f(x,y)]/=float(m(n);直方图均衡化直方图均衡化是通过灰度变换将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。

直方图均衡化变换:设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象Ii(x,y)转换为输出图象Io(x,y),输入图象的直方图为Hi(r),输出图象的直方图为Ho(s),则根据直方图的含义,经过灰度变换后对应的小面积元相等:Ho(s)ds=Hi(r)dr 变换函数f(r)必须满足下列2个条件:★(1)f(r) (O(r(1)是单值函数、且单调增加;★(2)O(f(r) (1,(O(r(1)。

图像的直方图修正和增强

图像的直方图修正和增强
22
上式中,f(.)和g(.)分别表示增强前后的图 像,而EH代表增强操作。
如果EH是定义在每个(x,y)上的,则EH是 点操作;如果EH是定义在 (x,y)的某个领 域上,则EH常被称为模板操作。
EH既可以作用于一幅图像f(.),也可以作 用于一系列图像{f1(.), f2(.),…, fn(.)} 之上。
12
二、灰度的线性变换
1、理论基础 灰度的线性变换就是将图像中所有的点的
灰度按照线性变换函数进行变换。该线性 变换函数f(x)是一个一维线性函数: f(x) = fA * x + fB
13
灰度变换方程为: DB = f(DA) = fA * DA + fB
式中参数fA为线性函数的斜率,fB为线性 函数在y轴的截距,DA表示输入图像的灰 度,DB表示输出图像的灰度。
其它各图可以此类推。
45
五、图像的代数运算
1. 引言 代数运算是指两幅输入图象之间进行点对点的加、
减、乘、除运算得到输出图象的过程。如果记输 入图象为A(x,y)和B(x,y),输出图象为C(x,y),则 有如下四种简单形式: C(x,y) = A(x,y)+B(x,y) (1) C(x,y) = A(x,y)-B(x,y) (2) C(x,y) = A(x,y)×B(x,y) (3) C(x,y) = A(x,y)/ B(x,y) (4)
32
图5-5 直接变换法
33
实际应用中,s1,s2,t1,t2可取不同的 值进行组合,从而得到不同的效果。
如果s1=t1,s2=t2,则EH为一条斜率为 1的直线,增强图像和原图相同。
如果s1= s2 , t1=0,t2=L-1,则增强 图只剩下2个灰度级别,对比度最大但细节 全部丢失了。

实验一 图像的灰度变换及直方图均衡化

实验一 图像的灰度变换及直方图均衡化

实验一:图像灰度变换及直方图均衡化实验一、实验目的:1. 掌握灰度直方图的概念及其计算方法;2. 掌握利用图像灰度变换实现对图像的增强处理;3. 掌握利用直方图直方图均衡化和直方图规定化实现对图像的增强处理;4. 熟悉MA TLAB中图像增强的相关函数。

二、实验设备:1. 硬件设备:计算机;2. 软件环境:Windows+Matlab编程与仿真环境;3. 其他设备:记录用的纸、笔,以及U盘等存储设备。

三、实验原理:灰度直方图(histogram)是灰度级的函数,它表示图像中具有每种灰度级的像素的个数,反映图像中每种灰度出现的频率。

一般来说,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的概率,是图像的最基本的统计特性。

从概率论的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数PDF(Probability Density Function),而概率分布函数就是直方图的累积和,即概率密度函数的积分。

1. 直方图均衡化直方图均衡化是通过灰度变换将一幅图像转换另一幅具有均衡直方图,即在每个灰度级上都具有相同的像素点数的过程。

设灰度变换s=T(r)为斜率有限的非减连续可微函数,它将输入图像A(x,y)转换为输出图像B(x,y),输入图像的直方图为H a(r),输出图像的直方图为H b(s),它们的关系如下:图1.1 输入图像和输出图像直方图之间的关系图直方图均衡化的基本思想是把原始图像的直方图变换成均匀分布的形式图像灰度值的动态范围,从而达到了增强图像整体对比度的效果。

具体方法为:①列出原始图像的灰度级Sk, k=0,1…L-1,其中L是灰度级的个数;②统计原始图像各灰度级的像素数目nk;③计算原始图像直方图各灰度级的频率数;④计算原始图像的累计直方图;⑤取整计算;⑥确定映射关系;⑦统计新直方图各个灰度级的像素数目nk;⑧计算新的直方图。

2. 灰度变换灰度变换是图像增强的另一种重要手段,它可使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。

【数字图像处理】灰度直方图、直方图均衡化、直方图规定化

【数字图像处理】灰度直方图、直方图均衡化、直方图规定化

【数字图像处理】灰度直⽅图、直⽅图均衡化、直⽅图规定化灰度直⽅图 ⼀幅图像由不同灰度值的像素组成,图像中灰度的分布情况是该图像的⼀个重要特征。

图像的灰度直⽅图就描述了图像中灰度分布情况,能够很直观的展⽰出图像中各个灰度级所占的多少。

图像的灰度直⽅图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数:其中,横坐标是灰度级,纵坐标是该灰度级出现的频率。

灰度直⽅图的计算公式如下:p(rk)=nk/MN其中,rk是像素的灰度级,nk是具有灰度rk的像素的个数,MN是图像中总的像素个数。

直⽅图均衡化 Histogram Equalization假如图像的灰度分布不均匀,其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对⽐度较低。

通常采⽤直⽅图均衡化及直⽅图规定化两种变换,使图像的灰度范围拉开或使灰度均匀分布,从⽽增⼤反差,使图像细节清晰,以达到增强的⽬的。

直⽅图均衡化,对图像进⾏⾮线性拉伸,重新分配图像的灰度值,使⼀定范围内图像的灰度值⼤致相等。

这样,原来直⽅图中间的峰值部分对⽐度得到增强,⽽两侧的⾕底部分对⽐度降低,输出图像的直⽅图是⼀个较为平坦的直⽅图。

均衡化算法直⽅图的均衡化实际也是⼀种灰度的变换过程,将当前的灰度分布通过⼀个变换函数,变换为范围更宽、灰度分布更均匀的图像。

也就是将原图像的直⽅图修改为在整个灰度区间内⼤致均匀分布,因此扩⼤了图像的动态范围,增强图像的对⽐度。

通常均衡化选择的变换函数是灰度的累积概率,直⽅图均衡化算法的步骤:计算原图像的灰度直⽅图 P(Sk)=nknP(Sk)=nkn,其中nn为像素总数,nknk为灰度级SkSk的像素个数计算原始图像的累积直⽅图 CDF(Sk)=∑i=0knin=∑i=0kPs(Si)CDF(Sk)=∑i=0knin=∑i=0kPs(Si)Dj=L⋅CDF(Si)Dj=L⋅CDF(Si),其中 DjDj是⽬的图像的像素,CDF(Si)CDF(Si)是源图像灰度为i的累积分布,L是图像中最⼤灰度级(灰度图为255)灰度直⽅图均衡化实现的步骤1.统计灰度级中每个像素在整幅图像中的个数2.计算每个灰度级占图像中的概率分布3.计算累计分布概率4.计算均衡化之后的灰度值5.映射回原来像素的坐标的像素值⽰例说明来看看通过上述步骤怎样实现的拉伸。

直方图均衡及分段灰度变换

直方图均衡及分段灰度变换

图像的直方图均衡与分段灰度变换F1003025 5100309018 董威一、基本原理与主要用途;1.直方图均衡与分段灰度变换的基本原理;直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。

它的基本思想是把原始图像的直方图变换成均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到了增强图像整体对比度的效果。

MATLAB图像处理工具箱中提供的histeq函数,可以实现直方图的均衡化。

线性变换是指在图像灰度范围内分段对逐个像元进行处理,是将原图像亮度值动态范围按线性关系(线性函数)变换到指定范围或整个动态范围。

在实际运算中给定的是2个亮度区间,即要把输入图像的某个亮度值区间[a,b]映射为输出图像的亮度值区间[c,d]。

即按线性比例对图像每一个象素灰度作灰度线性变换,改善图像视觉效果。

在实际图像处理中,为了突出感兴趣的目标或灰度区域,相对抑制不感兴趣的灰度区域,常常采用分段线性变换来进行图像灰度的处理。

MATLAB图像处理工具箱中提供的imadjust函数,可以实现上述的线性变换。

2.主要用途;在获取图像的过程中,由于噪声,光照等外界环境或设备本身的原因,原始数字图像质量会退化。

例如一般成像系统只具有一定的响应亮度,常出现对比度不足的弊病,影响视觉效果,在这些情况下需要对图像做增强处理。

图像增强可以提高清晰度,改善图像的视觉效果,突出图像中的有用信息,削弱或消除不需要的信息。

二、实现方案与源码;1.直方图均衡化;MATLAB图像处理工具箱的histep函数可以很方便的实现直方图均衡化。

由于原图片是彩色,因而在转换前需要用rgb2gray函数将图片转化为灰度图。

源程序如下:a=imread('e:\b.bmp');%读取图像b=rgb2gray(a); %转化为灰度图像subplot(121),imshow(a);subplot(122),imhist (b);实现结果如下:原图转化为的灰度图像subplot(121),imshow(b);subplot(122),imhist(b); %显示灰度图像与其直方图实现结果如下:c=histeq(b); %直方图均衡化subplot(121),imshow(b);subplot(122),imhist (b); %显示处理后的图像与其直方图实现结果如下:不调用histeq函数,利用matlab语言也可直接编程实现图像的直方图均衡化处理。

灰度图像直方图均衡化变换函数算法

灰度图像直方图均衡化变换函数算法

灰度图像直方图均衡化变换函数算法方案一:1) 灰度图像直方图均衡化算法步骤:1、列出原始图像和变换后图像的灰度级I:j=0,1,…L-1,其中L是灰度级的个数;2、统计原始图像个灰度级的像素个数Ni;3、计算原始图像直方图:p(i)=Ni/N,N为原始图像像素总数;4、计算累计直方图Pj=∑p(k),k=0,1…j;5、利用灰度变换函数计算变换后的灰度值,并四舍五入:j=INT[(L-1)Pj+];6、肯定灰度变换关系i—>j,据此将原图像的灰度值f(m,n)=i修正为g(m,n)=j;7、统计变换后各灰度级的像素个数Nj;8、计算变换后图像的直方图p(j)=Nj/N;2) m文件I=imread('');I=I(:,:,1);[m,n]=size(I);num=m*n;pre_mat=zeros(1,256);aft_mat=zeros(1,256);for i=1:mfor j=1:npre_mat(I(i,j)+1)= pre_mat(I(i,j)+1)+1;endendaft_mat(I)=aft_mat(I)/num;for k=2:256s(k)=pre_mat(k)/num;aft_mat(k)=aft_mat(k-1)+s(k);endM=zeros(m,n);aft_mat=aft_mat*255;for i=1:mfor j=1:nM(i,j)=aft_mat(I(i,j)+1);endendJ=uint8(M)subplot(3,2,1)imshow(I);title('1.原始图像');subplot(3,2,2)imhist(I);title('2.原始图像直方图 ');subplot(3,2,3)imshow(J);title('3.均衡化图像');subplot(3,2,4)imhist(J);title('4.均衡化图像直方图');A=histeq(I);subplot(3,2,5)imshow(A);title('5.系统均衡化图像');subplot(3,2,6)imhist(A);title('6.系统均衡化图像直方图')图1 均衡化处置对比经实际验证:该方案对黑白图片均衡化处置有较好的效果。

【OpenCV】图像增强---灰度变换、直方图均衡化

【OpenCV】图像增强---灰度变换、直方图均衡化

【OpenCV】图像增强---灰度变换、直⽅图均衡化图像增强的⽬的:改善图像的视觉效果或使图像更适合于⼈或机器的分析处理。

通过图像增强,可以减少图像噪声,提⾼⽬标与背景的对⽐度,也可以增强或抑制图像中的某些细节。

---------------------------------------------------------------------------------------------------灰度变换:把原图像的像素灰度经过某个函数变换成新图像的灰度。

可分为直线灰度变换法和直⽅图修正法。

直线灰度变换法:线性、分段线性、⾮线性变换。

直⽅图修正法:直⽅图均衡化、直⽅图规定化。

---------------------------------------------------------------------------------------------------图像直⽅图:是对像素的某种属性(如灰度、颜⾊、梯度等)分布进⾏统计分析的重要⼿段。

灰度直⽅图:是灰度级的函数,它反映了图像中每⼀灰度级出现的次数或频率。

直⽅图均衡化:把原始图像的直⽅图变换为均匀分布的形式,从⽽增加图像灰度的动态范围,以达到增强图像对⽐度的效果。

经过均衡化处理的图像,其灰度级出现的概率相同,此时图像的熵最⼤,图像所包含的信息量最⼤。

【注意,离散后是每块区域的概率相等,均衡化后并不是条直线哦。

】 细节概念等省略......---------------------------------------------------------------------------------------------------线性灰度增强、对数变换、指数变换、直⽅图均衡化。

代码见下(代码略粗糙...)【ImageEnhance.cpp部分代码】1//线性灰度增强2bool CImageEnhance::GrayLinearTransform(Mat &src, Mat &dst, uchar c, uchar d)3 {4int b=0,a=255;5 dst = src.clone();6int row = dst.rows, col = dst.cols * dst.channels();7 uchar *cc = dst.data;8for(int i = 0; i < row; ++i) {9for(int j = 0; j < col; ++j) {10int val = *cc;11if(a > val) a = val;12if(b < val) b = val;13 cc++;14 }15 }16 cc = dst.data;17float k = float(d - c)/(b-a);18//CString c1; c1.Format(_T("a=%d,b=%d,c=%d,d=%d,k=%.2f\n"), a,b,c,d,k);MessageBox(c1);19for(int i = 0; i < row; ++i) {20for(int j = 0; j < col; ++j) {21int val = *cc;22int s = (int)(k*(val - a) + c);23 *cc = s;24 cc++;25 }26 }27return true;28 }29//对数变换30bool CImageEnhance::GraynoLinearlog(Mat &src, Mat &dst) {31 dst = src.clone();32int row = dst.rows, col = dst.cols * dst.channels();33 uchar *cc = dst.data;34double k = 255 / log10(256.0);35for(int i = 0; i < row; ++i) {36for(int j = 0; j < col; ++j) {37int val = *cc;38 *cc = k * log10(1.0*(val + 1));39 cc++;40 }41 }42return true;43 }44//指数变换45bool CImageEnhance::GraynoLinearindex(Mat &src, Mat &dst) {46 dst = src.clone();47int row = dst.rows, col = dst.cols * dst.channels();48 uchar *cc = dst.data;49double k = 1.0 / 255;50for(int i = 0; i < row; ++i) {51for(int j = 0; j < col; ++j) {52int val = *cc;53 *cc = k * val * val;54 cc++;55 }56 }57return true;58 }5960 MatND CImageEnhance::getHist1(Mat& image)61 {62 MatND hist;63int channels[] = {0};64int dims = 1;65int histSize[] = {256}; //直⽅图箱⼦的个数66float granges[] = {0, 255};67const float *ranges[] = {granges}; //像素值范围68//计算直⽅图69 calcHist(&image, 1, channels, Mat()/*不使⽤掩码*/, hist, dims/*这是⼀维的直⽅图*/, histSize, ranges);70return hist; //这⾥得到的hiat是256⾏⼀列的Mat71 }7273//直⽅图均衡化74bool CImageEnhance::Equalize_hist(cv::Mat& src,cv::Mat& dst)75 {76//CMFC_Test_lyyDlg pic;77 MatND hist;78int channels[] = {0};79int dims = 1;80int histSize[] = {256}; //直⽅图箱⼦的个数81float granges[] = {0, 255};82const float *ranges[] = {granges}; //像素值范围83//计算直⽅图84 Mat image = src.clone();85 calcHist(&image, 1, channels, Mat()/*不使⽤掩码*/, hist, dims/*这是⼀维的直⽅图*/, histSize, ranges);8687//MatND hist = getHist1(src);//pic.getHist(dst);88float s[256];89float p[256];9091 cv::Mat lookup(cv::Size(1, 256), CV_8U);92int pixNum = src.cols * src.rows;//总像素个数93for (int i =0; i <256; i++) {94 s[i] = hist.at<float>(i) / pixNum;95if (i ==0) {96 p[i] = s[i];97 }98else {99 p[i] = p[i -1] + s[i];100 }101 }102for (int i =0; i <256; i++) {103 lookup.at <uchar>(i) = static_cast<uchar>(p[i]*255.0);104 }105106 cv::LUT(src, lookup, dst);//创建矩阵,把⼀个像素值映射到另⼀个像素值107return true;108 }ImageEnhance.cpp效果如下:原图像:线性灰度增强:我这⾥默认a和b表⽰原图像灰度值的最⼩与最⼤值。

第4章_图像灰度变换

第4章_图像灰度变换
1. 理论基础 非零元素取一法是最基础的二值化算法。顾 名思义非 0 取 1 就是对于灰度图像 f ,若某像 素灰度值为 0 ,则其灰度值不变,仍为零; 对于灰度值不为零的像素,将其像素值全部 变为255。非零元素取一法的阈值T=1。
非零元素取一法的变换函数表达式如下: 0 x<1 f(x)= ( 4-2) 255 x>1
阈值化的变换函数表达式如下: 0 x<T f(x)= (4-1) 255 x>T 其中T为指定的阈值。阈值T就像个门槛,比它 大就是白,比它小就是黑。该变换函数是阶 跃函数,只需给出阈值点T即可,经过阈值 处理后的图像变成了一幅黑白二值图,阈值 处理是灰度图转二值图的一种常用方法。
4.2.1 非零元素取一法
阈值处理的操作过程是先由用户指定或通过算法生成一个阈值如果图像中某像素的灰度值小于该阈值则将该像素的灰度值设置为0或255否则灰度值设置为255或0
第4章 图像灰度变换
本章要点: 灰度变换的基本方法 二值化和阈值处理 灰度的线性变换 窗口灰度变换处理 分段线性变换 灰度直方图 灰度分布均衡化 灰度匹配变换
4.1灰度变换的基本方法
图像的灰度变换(Gray-Scale Transformation,GST) 处理是图像增强处理技术中一种非常基础、直接的 空间域图像处理方法,也是图像数字化软件和图像 显示软件的一个重要组成部分。灰度变换是指根据 某种目标条件按一定变换关系逐点改变原图像中每 一个像素灰度值的方法。目的是为了改善画质,使 图像的显示效果更加清晰。灰度变换有时又被称为 图像的对比度增强或对比度拉伸。例如为了显示出 图像的细节部分或提高图像的清晰度,需要将图像 整个范围的灰度级或其中某一段(a,b)灰度级扩 展或压缩到(a′,b′),这些都要求采用灰度变 换方法。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 2/7 850 0.21 0.65 5/7 5/7 850 0.21
3 3/7 656 0.16 0.81 6/7
4 4/7 329 0.08 0.89 6/7 6/7 985 0.24
5 5/7 245 0.06 0.95 1
6 6/7 122 0.03 0.98 1
7 1 81 0.02 1 1 1 448 0.11

pr (r)
1 pr (r)
1
变换后图像的概率密度函数是均匀的。
例题:给定一幅图像,其灰度级分布概率密度函数为: 求使图像灰度级均匀化的变换函数T(r) 。
2r 2,0 r 1 pr (r) 0,其它
解:
r
r
s T r pr d 2 2d r2 2r
?
若在原图像一行上连续8个像素的灰度值分
别为:0、1、2、3、4、5、6、7,则均衡后,他
们的灰度值为多少?
原图像的直方图
均衡后图像的直方图
%histeq37.m %本程序产生冈萨雷斯《数字图像处理》(MATLAB 版) % P83 FIGURE3.8及P84 FIGURE3.9
f=imread('e:\chenpc\data\thry\chpt3\Fig3.15(a)1top.jpg');
ns=zeros(1,8); for i=0:7
idx=find(Tr>=(2*i-1)/14&Tr<(2*i+1)/14); m0=nk(idx); ns(i+1)=sum(m0(:)); end sums=sum(ns(:)); Ps=ns/sums; subplot(133) stem(rk,Ps) xlabel('s_k') ylabel('P_s(s_k)') title('均匀化后的直方图')
T-1(s)对s同样满足上述两个条件。
令pr(r)和ps(s)分别代表变换前后图像灰度级的概率密度函数,由基本概 率理论得到一个基本结果,如果pr(r)和T(r)已知,且T-1(s)满足上述两个 条件,那么变换变量s的概率密度函数ps(s)可由以下简单公式得到:
ps (s)
pr
(r)
dr ds



pr (r)
上式表明,当变换 函数为r的累积直 方图函数时,能达 到直方图均衡化的 目的。
从基本微积分学(莱布尼茨准则),我们知道关于上限的定
积分的导数就是该上限的积分值。该结果代入公式
ps (s)

pr (r)
dr ds

pr
(r)
d [T ds
1 (s)]
得到:
ps (s)
pr
(r
)
dr ds
v4=1/64
12321212
v5=5/64
31231221
v6=8/64
i
v7=5/64
直方图的性质
①灰度直方图只能反映图像的灰度分布情况,而不能反 映图像像素的位置,即丢失了像素的位置信息。
②一幅图像对应唯一的灰度直方图,反之不成立。不同 的图像可对应相同的直方图。下图给出了一个不同的 图像具有相同直方图的例子。
pr(r) T(r) ps(s)
2
1.8 1.2
1.6
1.4
1
1.2 0.8
1 0.6
0.8
0.6
0.4
0.4
0.2 0.2
0
0
0.5
1
r
0 0 0.5 1 r
1.2 1
0.8 0.6 0.4 0.2
0 0 0.5 1 s
➢ 离散图像直方图均衡化
对于离散的数字图像,用频率来代替概率,则变换函 数T(rk)的离散形式可表示为:
ylim('auto') hnorm=imhist(f)./length(f(:)); cdf=cumsum(hnorm); x=linspace(0,1,256); subplot(233),plot(x,cdf) axis([0 1 0 1]) set(gca,'xtick',0:.2:1) set(gca,'ytick',0:.2:1) xlabel('输入灰度级','fontsize',9) ylabel('输出灰度级','fontsize',9) %Specify text in the body of the graph: text(0.18,0.5,'变换函数','fontsize',9)
具有二峰性的灰度图象
③当影像上目标的灰度值比其它部分灰度值大或 者灰度区间已知时,可利用直方图统计图像中 物体的面积。
A= n vi iT
④ 计算图像信息量H(熵)
L1
H Pi log2 Pi
i0
图像获取过程中经常出现以下情况:
(a)成像时曝光不足,灰度级集中在低亮 度范围内,使得整幅图像偏暗
不同的图像具有相同直方图 ③一幅图像分成多个区域,多个区域的直方图之和即为
原图像的直方图。
直方图的应用
①用于判断图像量化是否恰当
(a) 恰当量化
(b)未能有效利用
(c)超过了动态范围
图2.4.4直方图用于判断量化是否恰当
②用于确定图像二值化的阈值
g(
x,
y)

0 1
f (x, y) T f (x, y) T
sk
T (rk )
k j0
pr (rj )
k nj j0 n
上式表明,均衡后各像素的灰度值sk可直接由原图 像的直方图算出。
例 假定有一幅总像素为n=64×64的图像,灰度级数为8,各灰 度级分布列于表中。对其均衡化计算过程如下:
k 01234567 rk 0 1/7 2/7 3/7 4/7 5/7 6/7 1 nk 790 1023 850 656 329 245 122 81 pr(rk ) 0.19 0.25 0.21 0.16 0.08 0.06 0.03 0.02
subplot(231),imshow(f); title('原图');
subplot(234),imhist(f); title('直方图')
ylim('auto')
g=histeq(f,256);
subplot(232),imshow(g) title('直方图均衡化后的图像')
subplot(235),imhist(g) title('均衡化后的直方图')
下图是一幅图像的灰度直方图。
频率的计算式为
灰度图像的直方图(histogram)
彩色图像的分波段直方图
二、计算 该图像像元总数为8*8=64, i=[0,7]
01321321 05762567
v0=5/64 v1=12/64
vi
16063512
v2=18/64
26753650
v3=8/64
32272416 22562760
0 r,s 1
在[0,1]区间内的任一个r值,都可产生一个s值,且
s T (r)
T(r)作为变换函数,满足下列条件: 1. 在0≤r≤1内为单调递增函数,保证灰度级从黑到白的次序不变; 2. 在0≤r≤1内,有0≤T(r)≤1,确保映射后的像素灰度在允许的范
围内。
反变换关系为
r T 1(s)
量化级 新灰度级sk 0
1/7=0.14 s0=1/7
2/7=0.29
3/7=0.43 s1=3/7
4/7=0.57
5/7=0.71 s2=5/7
6/7=0.86 s3=6/7
1
s4=1
像素数 Ps(sk)
790 0.19
1023 0.25
850 0.21 985 0.24 448 0.11
本例题可编程实现 方法一(image35.m) %本程序绘出直方图均匀化的变换函数 %以及变化前后的直方图 k=0:7; rk=k/7; nk=[790 1023 850 656 329 245 122 81]; n=sum(nk(:)); Pr=nk/n; subplot(131) stem(rk,Pr) xlabel('rk') ylabel('P_r(r_k)') title('均匀化前的直方图') Tr=cumsum(Pr,2); %沿列的方向求累积和 subplot(132) stem(rk,Tr) xlabel('rk') ylabel('s_k=T(r_k)') title('变换函数')
pr
(r
)
d ds
[T
1
(s)]
因此,变换变量s的概率密度函数由输入图像的概率密度函数和所选 择的变换函数决定。
在图像处理中一个尤为重要的变换函数如下所示:
r
s T (r) pr ()d
0
是积分变量。上式两端对r求导:
ds
dr

dT (r) dr

d dr
r 0

pr ()d
k rk nk Pr(rk) 0 0 790 0.19 1 1/7 1023 0.25 2 2/7 850 0.21 3 3/7 656 0.16 4 4/7 329 0.08 5 5/7 245 0.06 6 6/7 122 0.03 7 1 81 0.02
Tr(rk) 0.19 0.44 0.65 0.81 0.89 0.95 0.98 1.00
相关文档
最新文档