灰度直方图

合集下载

图像处理6灰度直方图和直方图均衡化

图像处理6灰度直方图和直方图均衡化

图像处理6灰度直⽅图和直⽅图均衡化灰度直⽅图介绍灰度直⽅图(Gray histogram)是关于灰度级分布的函数,是对图像中灰度级分布的统计。

灰度直⽅图是将数字图像中的所有像素,按照灰度值的⼤⼩,统计其出现的频率。

灰度直⽅图是灰度级的函数,它表⽰图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。

如果将图像总像素亮度(灰度级别)看成是⼀个随机变量,则其分布情况就反映了图像的统计特性,这可⽤probability density function (PDF)来刻画和描述,表现为灰度直⽅图。

实现以下代码便于理解灰度直⽅图的计算,其中histogram函数是基于numpy简化的,运⾏结果如下。

# coding: utf8from skimage import dataimport matplotlib.pyplot as pltimport numpy as npdef histogram(a, bins=10, range=None):"""Compute the histogram of a set of data."""import numpy as npfrom numpy.core import linspacefrom numpy.core.numeric import (arange, asarray)# 转成⼀维数组a = asarray(a)a = a.ravel()mn, mx = [mi + 0.0 for mi in range]ntype = np.dtype(np.intp)n = np.zeros(bins, ntype)# 预计算直⽅图缩放因⼦norm = bins / (mx - mn)# 均分,计算边缘以进⾏潜在的校正bin_edges = linspace(mn, mx, bins + 1, endpoint=True)# 分块对于⼤数组可以降低运⾏内存,同时提⾼速度BLOCK = 65536for i in arange(0, len(a), BLOCK):tmp_a = a[i:i + BLOCK]tmp_a_data = tmp_a.astype(float)# 减去Range下限,乘以缩放因⼦,向下取整tmp_a = tmp_a_data - mntmp_a *= normindices = tmp_a.astype(np.intp)# 对indices标签分别计数,标签等于bins减⼀indices[indices == bins] -= 1n += np.bincount(indices, weights=None,minlength=bins).astype(ntype)return n, bin_edgesif__name__ =="__main__":img=data.coffee()fig = plt.figure()f1 = fig.add_subplot(141)f1.imshow(img)f1.set_title("image")f2 = fig.add_subplot(142)arr=img.flatten()n, bins, patches = f2.hist(arr, bins=256, facecolor='red')f2.set_title("plt_hist")f3 = fig.add_subplot(143)hist, others = np.histogram(arr, range=(0, arr.max()), bins=256)f3.plot(others[1:],hist)f3.set_title("np_hist1")f4 = fig.add_subplot(144)hist, others = histogram(arr, range=(0, arr.max()), bins=256)f4.plot(others[1:], hist)f4.set_title("np_hist2")plt.show()关于bincount函数,可以参考Xurtle的博⽂https:///xlinsist/article/details/51346523bin的数量⽐x中的最⼤值⼤1,每个bin给出了它的索引值在x中出现的次数。

灰度直方图的用途

灰度直方图的用途

灰度直方图的用途灰度直方图(grayscale histogram)是一种统计图表,用于表示图像中每个灰度级别的像素数量。

它将图像的灰度级别作为横坐标,像素数量作为纵坐标,能够直观地展示图像中各个灰度级别像素的分布情况。

灰度直方图在计算机视觉和图像处理领域有着广泛的应用,以下将详细介绍它的用途。

1. 图像增强与调整灰度直方图可以帮助我们快速了解图像的亮度分布情况。

通过观察图像的灰度直方图,我们可以判断图像的亮度范围,并根据需要进行图像增强和调整。

例如,如果图像的灰度分布集中在较低的亮度范围,我们可以通过直方图均衡化等算法来增强图像的对比度,使得图像更加清晰明亮。

2. 图像分割与阈值处理利用灰度直方图,我们可以选择适当的阈值来进行图像分割。

图像分割是将图像划分为几个具有独立意义的区域,常用于目标检测和图像识别等应用。

通过分析灰度直方图可以确定一个或多个阈值,将图像分割成不同的区域,从而提取出感兴趣的目标。

3. 图像质量评估灰度直方图可以用于图像质量的评估和比较。

不同的图像质量可能对应着不同的灰度分布情况,通过对比不同图像的灰度直方图,我们可以直观地了解图像的细节信息和对比度。

在图像压缩、图像传输和图像复原等应用中,可以通过灰度直方图的对比来评估图像的质量,并确定是否需要使用图像增强或去噪等算法来改善图像的质量。

4. 图像匹配与检索利用灰度直方图可以进行图像的匹配与检索。

在图像数据库中,通过计算图像的灰度直方图,我们可以建立索引来加速图像的匹配和搜索。

通过对比查询图像与数据库中图像的灰度直方图相似性,可以找到与查询图像最相似的图像,从而实现图像的检索和识别。

5. 图像分类与识别灰度直方图也可用于图像分类与识别。

通过将图像的灰度直方图作为特征向量,我们可以训练分类器或者使用统计模型来对图像进行分类和识别。

例如,基于灰度直方图的人脸识别算法可以通过计算人脸图像的灰度直方图来进行人脸匹配和识别。

6. 图像分析与检测利用灰度直方图还可以进行图像的分析与检测。

第五章 遥感图像处理—图像增强

第五章 遥感图像处理—图像增强
(3) 变换后依然得到6个图像。其中:第一个图像反映亮 度特征,是原图像亮度的加权和;第二个图像表示绿度,反 映绿色生物量特征;第三个图像表示湿度,反映土壤的湿度
特征;其余三个分量与地物特征没有明确的对应关系。
七、多元信息复合
遥感图像信息融合(Fusion)是将多源遥感数据在统一的 地理坐标系中,采用一定的算法生成一组新的信息或合
其中:
k ( g 'max g 'min ) /( gmax gmin ) 255/ 52 4.9
b g 'ij kgij 0 49 49
2、非线性拉伸
(1)指数变换
xb be
(2)对数变换
axa
c
xb b度进行分层,每一层所包含的亮度值范围可以不
同。
图像密度分割原理可以按如下步骤进行:
(1)求图像的极大值dmax和极小值dmin; (2)求图像的密度区间ΔD = dmax-dmin + 1; (3)求分割层的密度差Δd =ΔD/n ,其中 n为需分割的层数;
(4)求各层的密度区间;
(5)定出各密度层灰度值或颜色。
减法运算可以增加不同地物间光谱反射率以及在 两个波段上变化趋势相反时的反差。不同时相同 一波段图像相减时,可以提取波段间的变化信息。
T M 4 影 像
T M 3 影 像
TM4-TM3影像
87 年 影 像
92 年 影 像 变化监测结果影像
(二)加法运算
B= i /m
i=1 m
加法运算可以加宽波段,如绿色波段和红色波 段图像相加可以得到近似全色图像;而绿色波 段,红色波段和红外波段图像相加可以得到全 色红外图像。
-1 -2 -1 0 0 0 1 2 1 1 2 0 -2 1 0 -1

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

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

图像增强—灰度变换及直方图均衡化一、实验目的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、直方图是多种空间城处理技术的基础。

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

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

灰度直方图

灰度直方图

第二章
一、灰度直方图的定义

3. 离散图像灰度直方图表明该灰度级上有多少个象素
H ( D) A( D) A( D 1)
H ( D) lim
D
A( D) A( D D) d A( D) D dD
第二章
一、灰度直方图的定义
4. 彩色图像二维直方图

坐标(Dx,Dy)处的值是指在红光图像中具有灰度值Dx,同时在蓝 光图像中具有灰度值Dy的象素对个数。
255

3.通过除以图像的面积来归一化灰度图像可以得到概率密度函数 (PDF)--与图像本身的象素个数无关 4.对面积函数进行同样的归一化处理可得到图象的累积分布函数 (CDF) 5.图像直方图为不连接区域直方图之和
第二章

三、灰度直方图的应用
1. 数字化参数

观察直方图可
以看出不合适的 数字化
第二章:灰度直方图

一、灰度直方图的定义 二、灰度直方图的性质 三、灰度直方图的应用
第二章
一、灰度直方图的定义

1.灰度直方图是灰度级的函数 2. 连续图像灰度直方图是阀值面积函数的导数的负值

A( D) A( D D) d H ( D) lim A( D) D D dD
第二章

三、灰度直方图的应用
2. 边界阈值选择(物体边界和面积的确定)
简单物体面积的 确定(见灰度直方 图的性质)

选取146为阀值点的二值化
第二章

三、灰度直方图的应用 3. 综合光密度、灰度级平均值


IOD是反映图像质量的一种有用度量
IOD可以通过图像的直方图求得

数字图像处理_期末考试及答案(三篇)

数字图像处理_期末考试及答案(三篇)

《数字图像处理》试卷答案(2009级)一、名词解释(每题4分,共20分)1.灰度直方图:灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。

它是多种空间域处理技术的基础。

直方图操作能够有效用于图像增强;提供有用的图像统计资料,其在软件中易于计算,适用于商用硬件设备。

灰度直方图性质:1)表征了图像的一维信息。

只反映图像中像素不同灰度值出现的次数(或频数)而未反映像素所在位置。

2)与图像之间的关系是多对一的映射关系。

一幅图像唯一确定出与之对应的直方图,但不同图像可能有相同的直方图。

3)子图直方图之和为整图的直方图。

2.线性移不变系统:一个系统,如果满足线性叠加原理,则称为线性系统,用数学语言可作如下描述:对于,若T[a+b]=aT[]+bT[]=a+b(2.15)则系统T[·]是线性的。

这里,、分别是系统输入,、分别是系统输出。

T[·]表示系统变换,描述了输入输出序列关系,反映出系统特征。

对T[·]加上不同的约束条件,可定义不同的系统。

一个系统,如果系统特征T[·]不受输入序列移位(序列到来的早晚)的影响,则系统称为移不变系统。

由于很多情况下序号对应于时间的顺序,这时也把“移不变”说成是“时不变”。

用数学式表示:对于y(n)= T[x(n)] 若y(n-)=T[x(n-)] (2.16)则系统是移不变的。

既满足线性,又满足移不变条件的系统是线性移不变系统。

这是一种最常用、也最容易理论分析的系统。

这里约定:此后如不加说明,所说的系统均指线性移不变/时不变系统,简称LSI/LTI系统。

3.图像分割:为后续工作有效进行而将图像划分为若干个有意义的区域的技术称为图像分割(Image Segmentation)而目前广为人们所接受的是通过集合所进行的定义:令集合R代表整个图像区域,对R的图像分割可以看做是将R分成N个满足以下条件的非空子集R1,R2,R3,…,RN;(1)在分割结果中,每个区域的像素有着相同的特性(2)在分割结果中,不同子区域具有不同的特性,并且它们没有公共特性(3)分割的所有子区域的并集就是原来的图像(4)各个子集是连通的区域4.数字图像处理:数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

灰度直方图

灰度直方图

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),则它们的关系可由如下过程导出:例如,下图是直方图均衡化后的飞机图片及其直方图,可见其直方图与原图的直方图相比是很均衡的,但必须说明的是,离散情况下不可能作到绝对的一致。

直方图

直方图
sk T (rk ) pr (r j )
j 0 j 0 k k
nj n
乘以n,再四舍五 入取整
44
说明
由于数字图像灰度取值的离散性,通过四 舍五入使得变换后的灰度值出现了归并现 象,从而致使变换后的图像并非完全均匀 分布,但是相比原始直方图要均匀得多
直方图修正
2.直方图规定化/直方图匹配 在某些情况下,并不一定需要具有均匀直 方图的图像,有时需要具有特定的直方图 的图像,以便能够增强图像中某些灰度级。 直方图规定化方法就是针对上述思想提出 来的。 直方图规定化是使原图像灰度直方图变成 规定形状的直方图而对图像作修正的增强 方法
0.89
0.95 0.98 1.00
6/7
1 1 1
s3=6/7
985
0.24
s4=1
448
0.11
41
例:
原图像的直方图
均衡后图像的直方图
42
例:直方图均衡化示例
43
例:
思考问题: 若在原图像一行上连续8个像素的灰度值分 别为:0、1、2、3、4、5、6、7,则均衡 后,对应的灰度值为多少?
46
直方图规定化
可见,它是对直方图均衡化处理的一种有 效的扩展。直方图均衡化处理是直方图规 定化的一个特例 对于直方图规定化,下面仍从灰度连续变 化的概率密度函数出发进行推导,然后推 广出灰度离散的图像直方图规定化算法
47
直方图规定化
假设pr(r)和pz(z)分别表示已归一化的原始 图像灰度分布的概率密度函数和希望得到 的图像的概率密度函数 首先对原始图像进行直方图均衡化,即求 变换函数:
H Pi log2 Pi
i 0 L 1
17

灰度直方图

灰度直方图

边界阈值选择
轮廓线提供了一个确立图像中简单物体的边界的 有效的方法。使用轮廓线作为边界的技术被称为 阈值化。 假定一幅图背景是深色的,其中有一个浅色的物 体。物体中的浅色像素产生了直方图上的右峰, 而背景中大量的灰度级产生了直方图上的左峰。 物体边界附近具有两个峰值之间灰度级的像素数 目相对较少,从而产生了两峰之间的谷。选择谷 作为灰度阈值将得到合理的边界。
直方图均衡化
直方图均衡化方法的基本思想是,对在图 像中像素个数多的灰度级进行展宽,而对 像素个数少的灰度级进行缩减。从而达到 清晰图像的目的(增强图像的整体对比 度)。 直方图均衡化处理的中心思想是把原始图 像的灰度直方图从比较集中的某个灰度区 间变成在全部灰度范围内的均匀分布。
直方图匹配(规定化)
对于两峰之间的最低点的灰度级作为阈值来确定边界是最 适合的。直方图是面积函数的导数。在谷底的附近,直方 图的值相对较小,意味着面积函数随阈值灰度级的变化很 缓慢。如果我们选择谷底处的灰度作为阈值,将可以使其 对物体的边界的影响达到最小。如果我们试图测量物体的 面积,选择谷底处阈值将使测量对于阈值灰度变化的敏感 降低到最小。
直方图均衡化校正不具备交互作用特性, 而直方图规定化校正在运用均衡化原理的 基础上,向人们提供了根据给定直方图作 图像增强的手段。 指定希望处理的图像所具有的直方图形状, 这种用于产生处理后又特殊直方图的图像 方法,叫做直方图匹配或直方图规格化处 理。
特点:
直方图均衡化的优点是能自动的增强整体 图像的对比度,但是它的具体增强效果却 不易控制,处理的结果总是得到全局均衡 化的直方图。 直方图规定化可以有选择的增强某个灰度 值范围内的对比度或使图像灰度值的分布 满足特的事图 像中该灰度级的像素个数。即:横坐标表 示灰度级,纵坐标表示图像中该灰度级出 现的频率(对数字图像即指像素的个数)。

图像灰度直方图

图像灰度直方图

图像灰度直⽅图图像灰度直⽅图 图像是由像素点构成的,每个像素点的值代表着该点的颜⾊(灰度图或者彩⾊图)。

直⽅图就是对图像中的这些像素点的值进⾏统计,得到⼀个统⼀的整体的灰度概念。

优点:可以清晰了解图像的整体灰度分布,对于后⾯依据直⽅图处理图像来说⾄关重要。

⼀般情况下直⽅图都是灰度图像,直⽅图x轴是灰度值(⼀般0~255),y轴是图像中每⼀个灰度级对应的像素点的个数。

灰度级:正常情况下就是0-255共256个灰度级,从⿊⼀直到⽩(也有可能统计其中的某部分灰度范围),那么每⼀个灰度级对应⼀个数值代表该灰度对应的点数⽬。

也就是说直⽅图其实就是⼀个1*m(灰度级)的⼀个数组⽽已。

但是有的时候不希望逐个灰度的递增,⽐如现在要求20个灰度⼀起作为⼀个灰度级来画直⽅图,这个时候可能只需要1*(m/20)这样⼀个数组就够了。

那么这⾥的20就是直⽅图的间隔宽度了。

Opencv给提供的函数是cv2.calcHist(),该函数有5个参数:image输⼊图像,传⼊时应该⽤中括号[]括起来channels::传⼊图像的通道,如果是灰度图像,那就不⽤说了,只有⼀个通道,值为0,如果是彩⾊图像(有3个通道),那么值为0,1,2,中选择⼀个,对应着BGR各个通道,⽤[]传⼊。

mask:掩膜图像。

如果统计整幅图,那么为none。

如果要统计部分图的直⽅图,就得构造相应的炎掩膜来计算。

histSize:灰度级的个数,需要中括号,⽐如[256]ranges:像素值的范围,通常[0,256],有的图像如果不是0-256,⽐如说你来回各种变换导致像素值负值、很⼤,则需要调整后才可以。

除Opencv外,numpy也有函数⽤于统计直⽅图的 函数np.histogram() 函数np.bincount() 这三个⽅式的传⼊参数基本上差不多,不同的是opencv⾃带的需要中括号括起来。

测试案例:import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('02.jpg', 0)#直接读为灰度图像#opencv读取⽅法cv2.calcHist(速度最快)#图像,通道[0]-灰度图,掩膜-⽆,灰度级,像素范围hist_cv = cv2.calcHist([img], [0], None, [256], [0,256])#numpy⽅法读取np.histogram()hist_np,bins = np.histogram(img.ravel(), 256, [0,256])#numpy的另⼀种读取⽅法np.bincount()(速度=10倍⽅法2)hist_np2 = np.bincount(img.ravel(), minlength=256)plt.subplot(221), plt.imshow(img, 'gray')plt.subplot(222), plt.plot(range(256), hist_cv, 'r')plt.subplot(223), plt.plot(range(256), hist_np, 'b')plt.subplot(224), plt.plot(hist_np2)plt.show() opencv的直⽅图函数中掩膜的使⽤,这个掩膜就是⼀个区域⼤⼩,表⽰直⽅图统计就是这个区域的像素统计。

2.2图像灰度直方图

2.2图像灰度直方图

2.2图像灰度直⽅图
灰度直⽅图是⽤来⼲嘛的?
反映⼀幅图像中各灰度级像素出现的频率与灰度级的关系,以灰度级为横坐标,频率为纵坐标,绘制灰度与频率关系的图就是灰度图像的直⽅图。

是图像的⼀个重要特征,反应图像灰度分布状况。

v i代表灰度级出现的频率,n i代表灰度级i出现的个数,n为图像的总像数。

⽅图的性质
1.只反映图像的灰度分布情况,不能反映位置,即灰度直丢失了像素的位置信息
2.⼀幅图相对应唯⼀的灰度直⽅图,不同的图像可对应可对应相同的直⽅图。

3.⼀幅图像分为多个区域,多个区域的直⽅图之和极为原图像的直⽅图。

直⽅图的应⽤
1.图像的量化是否恰当
2.确定图像⼆值化的阈值(按公式⼆值化)
例如两个峰⼀个⾕的灰度图像。

数字图像处理(直方图).

数字图像处理(直方图).

An
Combining
DFRT( n )
Renewed output images An exp(j n ) Cn
IDFRT( n )
Several input images Rn an exp(jn )
1 1 an , 0 n n n Updated input images a0 exp(j0 ) a0
15
按列统计的直方图
histc(pascal(3),1:6) produces the array [3 1 1; 0 1 0; 0 1 1; 0 0 0; >> pascal(3) 0 0 0; ans = 0 0 1]
1 1 1 1 2 3 1 3 6
每列目标数据的个数 统计
16
其他类型的统计图
条状图:bar x = 1:5; y = [0.2,0.3,0.1,0.8,0.9; 0.5,0.6,0.2,0.7,0.1]; bar(x,y');
20
其他类型的统计图
累加式条状图:barh rand('state',0); figure; barh(rand(10,5),'stacked'); colormap(cool)
6
彩色图像直方图
axes(‘Position’,*0.1,0.1,0.8,0.2+);% 生成坐标轴 stem(0:255,h1,'Marker','None','Color','r'); set(gca,'YColor','r','Xlim',[0,255]); axes('Position',[0.1,0.3,0.8,0.2]); stem(0:255,h2,'Marker','None','Color',[0,0.6,0]); set(gca,'YColor',[0,0.6,0],'Ytick',[0.005,0.01],'Xlim',[0,255]); axes('Position',[0.1,0.5,0.8,0.2]); stem(0:255,h3,'Marker','None','Color','b'); set(gca,'YColor','b','Ytick',[0.01,0.02],'Xlim',[0,255]);

第二章 灰度直方图

第二章 灰度直方图

D
0.8 0.6 0.4 0.2 -4 -2 0 2 4
D( x) e
x2
x
40
H(D)
30
20
10
0
0.2
0.4
0.6ቤተ መጻሕፍቲ ባይዱ
0.8
1
灰度级(D)
2) 二维情况
考察的图像是圆对称高斯脉冲函数:
D(r,q ) e
r2
0 r ,0 q 2 p
灰度级为常数P的轮廓线是半径为r(P)的圆:
N :图像的像素总数
偏暗的图像及其直方图:
偏亮的图像及其直方图:
动态范围偏小的图像 及其直方图:
动态范围正常的图像 及其直方图:
说明:
数字图像与其直方图不是一一对应的关系
另一种方式的定义:
将一副连续图像中具有灰度级D的所有轮廓线 所包括的面积,称为它的阈值面积函数A(D)。则 直方图可定义为:
i 1 j 1
k 0 k 0
NL NS
255
255
DH ( D )dD
0

所以有:
D( x, y )dxdy DH ( D)dD
0 0 0
a b

如果图像中的物体被阈值灰度级为T的边界勾划出来,则物体 内的IOD为:
IOD (T ) DH ( D )dD
T

边界阈值选择
使用轮廓线确定简单物体的边界的方法,称为阈值化。对 物体与背景有较强对比的景物的分割特别有用。例如双峰直 方图。
频 率
0
T 阈值点
255 灰度
如果阈值对应于直方图的谷,阈值从T增加到T+ ΔT, 只会导致面积函数的略微变化。因此可以把阈值的选择误 差对面积测量的影响降到最低。

灰度直方图绘制及直方图均衡化

灰度直方图绘制及直方图均衡化

昆明理工大学(数字图像处理)实验报告 实验名称: 灰度直方图绘制及直方图均衡化 专 业: 电子信息科学与技术 姓 名: 学 号: 成 绩:[实验目的]1、加强对灰度直方图及直方图均衡化的理解。

2、掌握直方图均衡化方法。

[实验内容]1、编程实现图像的灰度直方图。

2、实现直方图均衡化。

[实验原理]灰度直方图:1、直方图概念:灰度直方图表示图像中每种灰度出现的频率。

2、直方图的作用: 反映一幅图像的灰度分布特性3、直方图的计算: nk 为图像中出现rk 级灰度的像素数,n 是图像像素总数,而 nk/n 即为频数。

直方图均衡化:1、算法思想:通过函数变换,对在图像中像素个数多的灰度 级进行展宽,而对像素个数少的灰度级进行缩减。

从而达 到清晰图像的目的。

2、变换后每一个r 都对应一个s ,变换函数须满足二个条件 :(1)T 单值单增函数。

(2)对 有 则有: [实验步骤]离散情况下的直方图均衡化的算法:1)、列出原始图像的灰度级2)、统计各灰度级的像素数目 10-≤≤L r 1)(0-≤≤L r T 10)(1-≤≤=-L s s T r 1,...2,1,010,)(-=≤≤=l k r Nn r P k k k3)、计算原始图像直方图各灰度级的频数4)、计算累积分布函数5)、计算映射后的输出图像的灰度级。

6)、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。

创建相应的菜单并建立相应的消息响应函数:添加一个灰度直方图显示框。

调出资源视图窗口,添加ID为IDD_DIALOG4的对话框资源,设计如图:创建对话框类CDialog_ZFT并按下表关联对应变量:资源类型资源ID 关联变量类型图片控件IDC_zft CStatic绘制文本框IDOK intvoid CDialog_ZFT::OnOK(){CWnd *pwnd=GetDlgItem(IDC_zft);CDC *mydc=pwnd->GetDC();for(int i=0;i<count;i++){mydc->MoveTo(i+10,220);mydc->LineTo(i+10,220-data[i]*180/m_fmax);}/**************直方图****************/void CDLView::OnZft(){// TODO: Add your command handler code here if(m_DibHead==NULL){MessageBox("请打开一幅图像");return;}long w,h;w=m_DibHead->biWidth;h=m_DibHead->biHeight;int i ,j;float h1[256],h2[256];float fmax=0.0;for(i=0;i<256;i++)h1[i]=0;for(i=0;i<h;i++){for(j=0;j<w;j++){h1[*(m_Image+i*w+j)]++;}}for(i=0;i<256;i++){h2[i]=h1[i]*1.0/w/h;if(fmax<h2[i])fmax=h2[i];}CDialog_ZFT zft;zft.data=h2;zft.count=256;zft.m_fmax=fmax;zft.DoModal();}/**************直方图均衡化***************/zftjh(unsigned char *lpDib,long lWidth,long lHeight) {unsigned char *lpsrc;long lresult(0);long i,j;unsigned char bMap[256];long lCount[256];for(i=0;i<256;i++)lCount[i]=0;for(i=0;i<lHeight;i++)for(j=0;j<lWidth;j++){lpsrc=lpDib+i*lWidth+j;lCount[*lpsrc]++;}for(i=0;i<256;i++){lresult=0;for(j=0;j<=i;j++)lresult+=lCount[j];bMap[i]=(lresult*255)/lHeight/lWidth;}for(i=0;i<lHeight;i++)for(j=0;j<lWidth;j++){lpsrc=lpDib+i*lWidth+j;*lpsrc=bMap[*lpsrc];}}void CDLView::OnZftjunh(){// TODO: Add your command handler code hereif(m_DibHead->biBitCount!=8){MessageBox("当前版本仅支持256色位图的操作!","系统提示!",MB_ICONINFORMATION|MB_OK);return;}zftjh(m_Image,m_DibHead->biWidth,m_DibHead->biHeight);Invalidate();}[实验结果]原图均衡化后[实验总结]通过对比图像可知,变换后直方图趋向平坦,灰级减少,灰度合并。

图像灰度直方图

图像灰度直方图

灰度级数反映了一幅数字图像的亮度层次多少。 图像数据的层次越多视觉效果就越好。
一般来说,G 2g ,g就是表示存储图像像素灰度 值所需的比特位数。
若 一 幅 数 字 图 像 的 量 化 灰 度 级 数 G=256=28 级 , 灰 度取值范围一般是0~255的整数,由于用8bit就能表示灰 度图像像素的灰度值,因此常称8 bit 量化。
B1 G1 R1 B2 G2 R2
: Bn Gn Rn
对于真彩色图,3个字节才能表示1个像素.
2.4图像灰度直方图
2.4.1 概念 一、定义
灰度直方图反映的是一幅图像中各灰度级像素出现 的频率。以灰度级为横坐标,纵坐标为灰度级的频率, 绘制频率同灰度级的关系图就是灰度直方图。它是图像 的一个重要特征,反映了图像灰度分布的情况。
2.3图像数字化
图像数字化是将一幅画面转化成计算机能处理的形式—— 数字图像的过程。
模拟图像
数字图像
正方形点阵
2.3.1采样
将连续的图像空间上变换成离散点的操作称为采样。 采样孔b)
(a) 正方形网格; (b) 正六角形网格
采样间隔和采样孔径的大小是两个很重要的参 数。
采样间隔越小, 所得图像像素数越 多,空间分辨率高, 图像质量好,但数
据量大。
量化等级越多,所 得图像层次越丰富,灰 度分辨率高,图像质量 好,但数据量大;
量化等级越少,图 像层次欠丰富,灰度分 辨率低,会出现假轮廓 现象,图像质量变差, 但数据量小。
但在极少数情况下 对固定图像大小时,减 少灰度级能改善质量, 产生这种情况的最可能 原因是减少灰度级一般 会增加图像的对比度。 例如对细节比较丰富的 图像数字化。
下图是一幅图像的灰度直方图。

实验一图像的灰度直方图实验

实验一图像的灰度直方图实验

实验一图像的灰度直方图实验1实验目的:1)熟悉MATLAB软件界面和初步使用图像处理工具箱。

2)掌握图像格式转换和图像矩阵显示方法。

3)掌握图像灰度直方图的显示和灰度调整方法。

2实验内容:1)图像类型转换和不同图像显示方法图像类型转换:dither: 将灰度图像变成索引图像或将灰度图像变成二值图像。

[X,map]=gray2ind(I,n) ;n---灰度级数,缺省为64BW=dither(I)例子程序:clear ; %清除内存原有一切变量RGB=imread('gyy1.jpg'); % 把RGB图读入矩阵I=rgb2gray(RGB); %把RGB图变为灰度图[A,map]=gray2ind(I,128); %把灰度图变索引图BW=dither(I); %把灰度图变为二值图subplot(2,2,1),imshow(RGB);title('yuantu'); %显示原图subplot(2,2,2),imshow(A,map),title('xmap'); %显示索引图subplot(2,2,3),imshow(I),title('graytu'); %显示灰度图subplot(2,2,4),imshow(BW),title('BWtu'); %显示二值图gray2ind: 将二值图像转换为索引图像。

[X,map]=gray2ind(BW,n) ;n---灰度级数,缺省为64grayslice: 将灰度图像转为索引图像。

X=grayslice(I,n);im2bw: 将灰度图像、索引图像、真彩色图像转为二值图像。

BW=im2bw(I,level); BW=im2bw(X,map,level); BW=im2bw(RGB,level)level---- 归一化阈值,取值在[0,1]之间。

eg: BW=im2bw(X,map,0.6)im2double: 转换为双精度型。

02 第三章 灰度直方图

02 第三章 灰度直方图

11
3.3 直方图的用途 直方图的用途 3.3.1 数字化参数
直方图给出了一个简单可见的指示, 直方图给出了一个简单可见的指示,用 来判断一幅图象是否合理地利用了全部被允 是否合理地利用了 来判断一幅图象是否合理地利用了全部被允 许的灰度级范围。 许的灰度级范围。一般一幅数字图象应该利 用全部或几乎全部可能的灰度级, 如图3.1。 用全部或几乎全部可能的灰度级 , 如图 。 否则等于增加了量化间隔。 否则等于增加了量化间隔。一旦被数字化图 象的级数少于256, 丢失的信息 ( 除非重新 象的级数少于 , 丢失的信息( 数字化)将不能恢复。 见下页典型直方图。 数字化) 将不能恢复。 见下页典型直方图。
26
2. 有一幅在灰色背景下的黑白足球的图 有一幅在灰色背景下的黑白足球的图 灰色背景下的黑白足球 象,直方图如下所示。足球的直径为230mm, 直方图如下所示。足球的直径为 , 求其象素间距。 求其象素间距。 象素间距 [0 520 920 490 30 40 5910 24040 6050 80 20 80 440 960 420 0]
29
作业
步骤1: 选一幅彩色图转换成灰度图, 步骤 : 选一幅彩色图转换成灰度图 , 或 直接选一幅灰度图,画出它的直方图, 直接选一幅灰度图,画出它的直方图,选一个 合适的阈值,将该图像二值化。 合适的阈值,将该图像二值化。 步骤2: 将该图像作水平方向( 步骤 : 将该图像作水平方向 ( 或垂直方 或斜方向) 点或2点移位 向、或斜方向)的1点或 点移位,形成第二幅 点或 点移位, 图像。 图像。 步骤3:将两幅图像做减法,分析结果。 步骤 :将两幅图像做减法,分析结果。 步骤4:如果位移量较大,结果会如何? 步骤 :如果位移量较大,结果会如何?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章灰度直方图
目录
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-1
2.统计hist[k] ; x, y =0,…,M-1, 0,…,N-1
3.如果需要标准化,则hist[k]/=M*N
例:直方图算法实现
例: 通过直方图求图像中的灰度的最大、最小和中值。

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

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

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

Contrast=1100
(,)M
N y x g x y M N −−==×∑∑
11
2
00((,))M N y x M N
g 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);
直方图具有很多的优点,直方图能反映图象的概貌,比如图像中有几类目标,目标和背景的分布如何;通过直方图可以直接计算图像中的最大亮度、最小亮度、平均亮度、对比度以及中间亮度等。

使用直方图可以完成图像分割、目标检索等。

因为不同的目标具有不同的颜色分布。

使用归一化直方图作目标匹配,还不易受到目标翻转和目标大小变化的影响。

在图像查询的系统中,直方图有很大的应用,用它存储目标的特征占有空间小,且执行速度快。

其缺点是:因其没有记录位置信息,不同的图像会具有相同或相近的直方图。

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

P41艾
设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象A(x,y)转换为输出图象B(x,y),输入图象的直方图为HA(r),输出图象的直方图为HB(s),则它们的关系可由如下过程导出:
•根据直方图的含义,经过灰度变换后对应的小面积元相等:
•由此可见,当上式中的分子和分母只差一个比例常数时,它就是常数,即:•结论:是直方图均衡化的灰度变换函数的累计分布函数(概率分布函数)离散情况下,
()()B A H s ds H r dr
=11()()(())()'()'(())A A A B H r H r H f s H s ds f r f f s dr −−===故1',()
d f f r f s d r −==其中0'()()m
A
R f r H r A =00()()()r m A m R f r H r dr R P r A ==∫001()()r
A P r H r dr A =∫其中()()m k f r R P r =0()k i k i n P r n
==∑其中
例如,
图像Lena的直方图均衡后图像Lena的直方图
原始Lena图像直方图均衡后的Lena图像
•暗的区域(手)变亮了
3.直方图规范化
•直方图规范化是指将一幅图象通过灰度变换后,使其具有特定的直方图形式,如使图象与某一标准图象具有相同的直方图,或使图象具有某一特定函数形式的直方图。

•简单地说,就是把一个图象经过灰度变化f后,使得它的直方图为Hf,即规定形状。

用途:可用来校正因亮度和传感器差异引起的变化。

比如,在比较同一个场景在不同的光照条件下的得到的两幅图像之前。

•算法:以均衡化为桥梁
•F1: H1(g1)---------- H0(s)
•F2: H2(g2)---------- H0(v)
•考虑到作为均匀分布的随机变量V和S具有完全相同的统计性质,因而从统计意义上说,它们是等同的。

因而,由s=F1(g1)和v=F2(g2)和v=s,得到g2=F2-1(v)= F2-1 (s)= F2-1 (F1(g1)) 。

4.色彩直方图
•色彩直方图是高维直方图的特例,它统计色彩的出现频率,即色彩的概率分布信息。

通常这需要一定的量化过程,将色彩分成若干互不重叠的种类。

一般不直接在RGB 色彩空间中统计,而是在将亮度分离出来后,对代表色彩部分的信息进行统计,如在HSI空间的HS子空间、YUV空间的UV子空间,以及其它反映人类视觉特点的彩色空间表示中进行。

例如,下图是统计肤色分布情况的例子。

作业
•1.编制直方图均衡化程序(输入输出图象格式bmp)。

返回本章目论。

相关文档
最新文档