四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化
图像处理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中出现的次数。
数字图像直方图

的图像,就能使数据表示具有分层性,其代表 有锥形(金字塔)结构。
2.6图像的数据结构与特征
锥形结构是对2k×2k个像素形成的图像,看成 是分辨率(20×20→2k×2k,但20×20不具有反映 输入图像二维构造的信息)不同的k+1幅图像的 层次集合。如图所示,从输入图像I0开始,顺 序产生像素数纵横都变为1/2的一个一个的图 像I1,I2,…Ik。此时,作为图像Ii的各像素的 值,就是它前一个图像Ii-1的相应的2×2像素 的平均值(一般采用平均值,但也可以采用能 表示2×2像素的性质的某个值)。
4. 计算图像信息量H(熵)
L1
H Pi log2 Pi
i0
Pi是图像灰度级为i的像素出现的频率,图像的灰度范 围在[0,L-1]。
彩色图的灰度直方图
灰度图的灰度直方图
灰度图具有二峰性
具有二峰性的灰度图的2值化
2.5 图像处理算法的形式
一. 图像处理基本功能的形式 按图像处理的输出形式,图像处理的基本功能可
在彩色图像(红、绿、兰)或同一对象用
多个不同的波长拍摄的多波段图像中,每个像
素包含着多个图像的信息。这类图像数据的处
理,以多谱图像为例,有下列三种存储方式:
①逐波段存储,分波段处理时采用;
②逐行存储,行扫描记录设备采用;
③逐像素存储,用于分类。
2.6图像的数据结构与特征
2.6.2 图像的特征 1.图像的特征
2.6图像的数据结构与特征
③线和角点特征
城市区划图中有建筑群、街道、公路、铁路、 桥梁等,这些地物可用线、线相交的角点来表 示。从图中提出这些特征,不仅可压缩图像, 也可用于识别。角点代表的局部结构关系不因 视角而改变,在图像匹配中很有用。
数字图像处理直方图处理

2 7
3 7
4 7
5 7
6 7
rk
1 7
2 7
3 7
(b)
4 7
5 7
6 7
1
rk
(a)
ps(Sk)
0.25 0.25 0.19 0.21 0.11 0.24
0.20
0.15 0.10 0.05 0
1 7
2 7
3 7
4 7
5 7
6 7
1
Sk
(c)
直方图均衡化效果
3.3.2直方图匹配(规定化)
直方图均衡化的优点是能自动地增强整个图像 的对比度,但它的具体增强效果不易控制,处理 的结果总是得到全局均衡化的直方图。实际中有 时需要变换直方图使之成为某个特定的形状,从 而有选择地增强某个灰度值范围内的对比度。
s=T(r) Pr(r) Pz(z) s=T(r) v=G(z) z=G-1[T(r)]
r 原直方图
s 均衡化后直方图
z
规定直方图
连续图像:设Pr(r)和Pz(z)分别代表原始图像和规定 化处理后图像的灰度概率密度函数. r ( r ) P ( r ) d r 对原始直方图进行均衡化处理,有:sT 0 r
v Gz ( ) P (zd )z 对规定化后的直方图均衡化处理,有: 0 z
直方图均衡化
对连续变化图像:
设r和s分别表示归一化了 的原图像灰度和经直方图修 正后的图像灰度。即
s 1
s 1 T ( r)
0 r, s 1
在[0,1]区间内的任一个r值, 都可产生一个s值,且
Ps(s) Pr(r)
1
r
s T (r )
1 将非均匀密度变换为均匀密度
数字图像处理灰度化直方图均衡化灰度拉伸

数字图像处理与模式识别实验目的打开一幅图像,进行直方图均衡化。
并将其灰度线性变化,将灰度线性拉伸。
实验准备实验之前,收集数字图像处理编程的相关资料,查阅C或Java关于本实验图像处理的相关类库和编程核心。
经过C和Java相关资料编程的比较,Java将图像处理的类封装的较完整,运用起来比C灵活方便。
以下是相关类库和实现操作的方法:import java.awt.image.*;import javax.imageio.*; //相关的图像处理类库和方法封装在两个包中//Java读取图像的方法BufferedImage newImage = ImageIO.read(new File(filePath));int width = newImage.getWidth(); //获得图像的像素宽度int height = newImage.getHeight(); //获得图像像素的长度//获得图像的色彩模型RGB分量ColorModel colorModel = ColorModel.getRGBdefault();int r = colorModel.getRed(currPixArray[k]);int g = colorModel.getGreen(currPixArray[k]);int b = colorModel.getBlue(currPixArray[k]); //分别获得图像的rgb分量PixelGrabber p = new PixelGrabber(image, 0, 0, width, height, array, 0, width); //将image图像像素值读入一位矩阵实验步骤算法实现RGB图像转灰度图由于数字图像的直方图均衡化和灰度的线性拉伸都是基于灰度图的算法实现,本框架中增加了由彩色图转灰度图的功能。
简单讲述下算法思想:将存储图像的一维矩阵像素点彩色分量用ColorModel类中的getRed(),getGreen()和getBlue()方法读取,按照(r * 0.3 + g * 0.59 + b * 0.11)公式计算灰度值。
02 第三章 灰度直方图

15
IOD =
k = K1
∑ kH ( k )
( 3.5) )
K2
其中, 所划定的图象区域的 其中,K1和K2是所划定的图象区域的最 小 和 最大 灰度值 . H(k)代表灰度级为 时所 最大灰度值 灰度值. 代表灰度级为k时所 代表灰度级为 对应的象素的个数. 对应的象素的个数.该式为灰度级加权的直 象素的个数 方图之和. 方图之和.
16
3.4 例题
1. 有一胶片图象,在背景明亮的天空衬 有一胶片图象, 背景明亮的天空衬 托 下 , 有 一 亮 色 屋 顶 的 深 色 谷 仓 (a darkcolored barn with a light colored roof against a bright sky).在下述各种情况下,试指出直 .在下述各种情况下 各种情况下, 方图看起来将是什么样子:如果该图象被( ) 方图看起来将是什么样子:如果该图象被(a) 正确数字化 数字化; 增益调整过低 正确 数字化 ; ( b) 数字化时 增益 调整过低 ; ) 数字化时增益 调整过低; 增益调整过高 ( c)数字化时增益调整过高;( d)数字化 )数字化时增益调整过高; ) 时 偏置过大 ; ( e) 数字化时偏置 过小; ( f) 偏置 过大; ) 数字化时 偏置过小 ; ) 过大 偏置 过小 数字化时增益和偏置 均过大. 假设0为暗 增益和偏置均过大 为暗, 数字化时 增益和偏置 均过大 . 假设 为暗 , 255为亮. 为亮. 为亮
11
3.3.2 边界阈值选择 边界阈值选择
轮廓线提供了一个确立图象中简单 轮廓线提供了一个 确立图象中简单物体 确立 图象中简单物体 的边界的有效的方法 的有效的方法. 的边界 的有效的方法 . 使用轮廓线作为边界 的技术被称为阈值化. 的技术被称为阈值化. 假定一幅图背景是深色 背景是深色的 其中有一个浅 假定一幅图背景是深色的,其中有一个浅 色的物体. 为这类图象的直方图. 色的物体 . 图 3.3为这类图象的直方图 . 物体 为这类图象的直方图 中的浅色象素产生了直方图上的右峰, 中的浅色象素产生了直方图上的右峰,而背景 中大量的灰度级产生了直方图上的左峰. 产生了直方图上的左峰 中大量的灰度级产生了直方图上的左峰. 物体边界附近具有两个峰值之间灰度级的 象素数目相对较少,从而产生了两峰之间的谷 两峰之间的谷. 象素数目相对较少,从而产生了两峰之间的谷. 合理的边界. 选择谷作为灰度阈值将得到合理的边界 选择谷作为灰度阈值将得到合理的边界.
2.直方图与灰度处理

(0,0)点出发,经 过多个分段节点,最 终到达(255,255) 点,这之间所有的直 线线段将组成一个线 性函数。
y y1 x x1 y y1 y2 xy yx x 1 2 1 2 x1 x2 x1 x2
y 255 y2 255( y2 x2 ) x 255 x2 255 x2
1 6 1 3 1 1 2 4 6 4 4 3 3 3 6 5 6 6 4 5 2 2 4 6 6 6 6 2 4 6 6 1 6 6 3 6
h [5,4,5,6,2,14]
灰度直方图示例(1)
灰度直方图示例(2)
灰度直方图示例(3)
基于直方图的灰度处理(1)
• 灰度处理:处理过程只与像素的灰度有关系,与
• 灰度:像素的颜色(值) • 直方图:用横坐标表示不
同特性,纵坐标表示与特 性对应的值,值的大小用 直方柱高度表示的图形。 灰度直方图:横坐标表示 灰度值,纵坐标表示图像 中具有该灰度值的像素的 个数。
•
什么是灰度直方图(2)
• 灰度直方图的统计:遍历图像中的所有像素,将
•
属于同一灰度的像素个数累加起来。 像素的空间信息丢失,只记录其灰度分布状况。
y y1 x x1 y( x x1 ) ( y2 y1 ) y1 x2 x1
y 255 y2 255( y2 x2 ) x 255 x2 255 x2
灰度非线性拉伸(2)
• 作用:可将整个灰度分布域[0,255]中的不
同区域按照不同的灰度分布调整要求进行 有一定曲度的拉伸或挤压,以便更有效地 增强目标内容,削弱无效信息。
• •
像素的位置无关。 假设对横坐标为 x 、纵坐标为 y 的像素 f ( x, y) g , 经过灰度处理,其输出的灰度值为 f ( x, y) T ( g ) 。这 T 里 f ( x, y) 是处理后图像的像素,表示灰度处理函数。 直方图处理的步骤:(1)针对原始灰度分布范围 内的每一个灰度 g ,计算其经 T 处理后的灰度值, 获得灰度映射表;(2)遍历图像中所有像素,将 每个像素根据灰度值映射表更新为新灰度。
灰度直方图

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

一、课程设计目的(1)进一步掌握matlab的用法;(2)在实践中深入理解图像显示的方法;(3)学会用matlab对图像进行显示。
二、课程设计要求(1)根据题目,查阅有关资料,掌握图像显示技术;(2)学习MATLAB软件,掌握MATLAB各种函数的使用;(3)根据图像显示原理,运用MATLAB进行编程,仿真调制过程,记录并分析仿真结果;(4)形成设计报告。
三、设计方案一般情况下,如果图像的灰度分别集中在比较窄的区间,从而引起图像细节的模糊,为了使图像细节清晰,并使目标得到突出,达到图像增强的目的,可通过改善各部分亮度的比例关系,即通过直方图的方法来实现.直方图的方法是以概率论为基础的.常用的方法有直方图均衡化和直方图规定化.(1)直方图均衡化直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像.其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果.直方图均衡化的具体实现步骤如下:1).列出原始图像的灰度级,-=Lfj1,,1,j2).统计各灰度级的像素数目=L,-nj1,,,1j3).计算原始图像直方图各灰度级的频数=Lj=P(-fnn/,)11,,,fjj4).计算累积分布函数1,,,1,0,)()(0-==∑=L k j f P f C k j j f5).应用以下公式计算映射后的输出图像的灰度级,P 为输出图像灰度级的个数,其中INT 为取整符号1,,1]5.0)()[(min min max -=++-=P i g f C g g INT g i6).统计映射后各灰度级的像素数目 ni, i=0,1,…,k,…P-1.7). 计算输出直方图Pg(gi)=ni/n, i=0,1,…,P-1.8). 用fj 和gi 的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像(2) 直方图规定化直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图.实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法.直方图规定化增强处理的步骤如下:令Pr (r )和Pz (z )分别为原始图像和期望图像的灰度概率密度函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、灰度直方图是数字图像处理的重要工作。
请简述灰度直方图规定化、均衡化的基本原理。
并以分辨率为5*4,图像的深度6bit 的图像为例,自举例说明直方图均衡化的计算过程。
解答: 数字图像的直方图是作为图像每一个灰度级的统计概率分布"它提供了图像灰度分布的概貌,直方图增强技术正是利用修改给定图像直方图的方法来增强图像的,最后得到的图像增强程度取决于我们所采用的直方图。
令变量r 和s 分别代表图像增强前后的像素灰度级,相应灰度级分布的概率密度分别为()r P r 和()s P s 。
为讨论方便,假设像素灰度值已经归一化在区间[0,1],在灰度级坐标中r=0表示黑,r=1表示白。
对区间[0,1]内任一个r 值按变换函数: s = T(r) (1) 进行变换,T (r )满足两个条件:(1)单值单调递增函数;(2) 0≤T (r )≤1。
条件(1)使灰度级保持从黑到白的次序,条件(2)保证映射变换后像素灰度值在允许的范围内。
从s 到r 的反变换为:1()r T s -=,0≤s ≤1。
(2)
同样,规定变量s 也满足条件(1)和(2)。
由概率理论知,若()r P r 和变换函数s = T(r)
已知,1()r T s -=是单值单调增加函数,则有:
1()
()[P ()
]s r r T s dr
P s r ds -== (3) 直方图增强技术就是通过变换函数T (r )控制图像灰度级的概率密度函数而改变图像的外貌。
对于连续图像,变换函数为:
()(),01r
r s T r P r dr r ==≤≤⎰ (4)
此式右边为累积分布函数(CDF ),由该式对r 求导有:
()r ds
P r dr
= (5)
代入(3)得到:
1()1
()[()
]1,01()
r r T s r P s P r s P r -===≤≤ (6)
这说明,在变换后变量s 在定义域内, ()s P s 是均匀概率密度。
在图像增强意义上,这
相当于像素的动态范围增加。
对于离散图像,灰度级k r 的概率值为:
(),01,0,1,2, (1)
r k k n P r r k L n
=
≤≤=- (7)
其中,n 表示图像中像素的总数,k n 是在图像中出现这种灰度级的次数,L 表示灰度级
的数目,()r k P r 为第k 级灰度级的概率。
与连续图像的(4)式相对应。
离散形式为: 0
()()k
k
j k k r j j j n s T r P r n
=====∑
∑ (8)
反变换为:
1(),01k k k r T s s -=≤≤ (9)
可见,能够直接利用式(8)从所给的图像计算变换函数()k T r 。
基于直方图的图像增强可划分为三种情况:直方图均衡化、直方图修正、非交叠块自适应直方图修正。
以上讨论的便是传统的直方图均衡化,有人提出了新的改进算法,该方法是基于原始图像直方图分为三个子图重新安排像素。
首先用k-means 法进行k 簇初始化,并递归得簇质心再求出两个阈值!运用数学形态法将分开的三个子图连接,最后再对子图分别运用直方图均衡法而获得图像增强。
直方图规定化
由于均衡化的直方图技术只能产生一种近似均匀的直方图,而不适于需要交互作用的图像增强的应用。
实际上,为了能增强图像中某些灰度级的范围,有时希望能够规定交互作用的特定的直方图。
直方图规定化可看作是直方图均衡化方法的改进。
假设()r P r 和()z P z 分别表示原始和希望的图像概率密度函数,同时利用式(4)直方图
均衡化,则: 0
()()r
r s T r P r dr ==⎰ (10)
()()z
z v G z P z dz ==⎰
(11)
1()z G v -=
(12)
由式(4)均衡化处理产生最后的结果()1s P s =与积分内的概率密度无关,因此处理后的
原图像及理想图像的概率密度()s P s 和()v P v 具有相同的均匀密度。
这样,可以从原始图像中得到的均匀灰度s 代替逆过程中的v ,其结果灰度级1
()z G s -=就是所要求的概率密度函数。
上述过程即为:
(1)将原始图像的灰度级均衡化& (2)规定希望的概率密度函数,并用式(11)得到变换函数()G z 。
(3)计算逆变换函数1
()z G v -=,便得到了所希望的灰度级。
由以上讨论可以得到:
1[()]z G T r -= (13)
对离散图像,相应的规定化表达式为:
()i
z i n P z n
=
(14)
1
()()i i i z j j v G z P z -===∑ (15)
11()[()]i i i z G s G T r --== (16)
以上各式表明,一幅图像决定出T (r )与反变换函数1()z G v -=便可以进行直方图规定
化,对连续变量使用上述方法实际上就是求得反变换函数解析式。
而对于离散图像,由于离散的灰度级个数通常很少,对每一个可能像素值计算映射是可行的,就不用像连续变量那样求逆变换的解析式了。
举例说明,一分辨率为5*4,图像的深度6bit 的图像如下:
15151111111529431211514358383851
513838
38⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
其灰度均衡化过程如下:
据此可得到均衡化后图像如下:
25251212122528501512595063444459
594444
44⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦。