图像的直方图修正和增强.ppt
《图像的直方图修正和增强.ppt》由会员分享,可在线阅读,更多相关《图像的直方图修正和增强.ppt(59页珍藏版)》请在三一文库上搜索。
1、1,第五章 图像的直方图 修正和增强,教师 甘岚 信息学院,2,一、灰度直方图,1、灰度直方图简介 灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度级内容。 任何一幅图像的直方图都包含了客观的信息,某些类型的图像还可由其直方图完全描述。,3,灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数。 横坐标表示像素的灰度级别;纵坐标是该灰度出现的频率(像素的个数)。 例如,图像5-1的灰度直方图如图5-2所示。,2、灰度直方图的定义,4,图5-1 原图,图5-2 灰度直方图,直方图示例,5,灰度直方图也有另一种方式的定义:假设有一幅由函数D(x,y)所定义的连
2、续图像,它平滑地从中心的高灰度级变化到边沿的第灰度级。 选择某一灰度级D1,然后定义一条轮廓线,该轮廓线连接了图像上所有的具有灰度级D1的点。所得到的轮廓线形成了包围灰度级大于等于D1的区域的封闭曲线。如图5-3所示。,直方图的另一种表示方法,6,图像中有一条灰度级为D1的轮廓线,在更高的灰度级D2处,还有第二条轮廓线。设A1是第一条轮廓线所包围区域的面积,A2是第二条轮廓线所包围的区域的面积。,图5-3,直方图的另一种表示示例,7,将一幅连续图像中被具有灰度级D的所有轮廓所包围的面积称为该图象的阈值面积函数A(D)。直方图的可定义为:,直方图定义公式,由上式可以得出结论:一幅连续图像的直方图
3、是其阈值面积函数的导数的负值。,8,负号的出现是由于,随着D的增加A(D)在减小。 如果将图像看成是一个二维的随机变量,则面积函数相当于其积累分布函数,而灰度值相当于其概率密度函数。 对于离散函数,我们固定D为1,则上式变为:,9,3、编写程序实现灰度直方图,(1)到目前为止的图像处理程序小结 编写图像处理程序首先需要把要处理的图像“读进来”把磁盘上的图像读入到程序地址空间内的内存中。 这实际上是一个在内存中建立图像对象的过程,这里所谓的图象对象,可以理解为面向对象概念中的对象;也可以是传统的过程化程序设计方法中处理的各种程序变量或者结构。,10,在图像处理程序中,设置一个变量或者函数来提供图
4、像数据的首地址。也就是存放图像像素数据的内存块(数组)的首地址。前面提到的读取图像到内存中的操作,就是为了创建这个图像像素内存块。 在所有的图像处理算法中,都要找到图像像素首地址,然后对其执行相关的算法。 示意图如下:,11,图5-4 位图结构示意图,如图所示,在程序中分别用BITMAPFILEHEADER和BITMAPINFORHEADER来存储位图文件头和文图信息头结构中的数据;用CPalette或者HPALETTE来保存调色板数据;用一个char*类型的指针指向像素数据。 每次执行图像处理函数之前,得到像素数据块的指针,用它来进行相关的算法计算。,12,(2)灰度直方图绘制思路 其实,根
5、据灰度直方图的定义,思路很简单。就是分别数出从0255之间的灰度值的像素,在图像中的个数。也就是,灰度值为0的像素有多少,灰度值为1的像素有多少以此类推。 把最终的统计结果用程序绘图的方式记录下来。,13,方法: (1)找到前面提到的“图像像素内存块”的指针; (2)扫描该指针所指向的内存块,分别统计各个项数值对应的像素的个数; (3)在窗口中用GDI绘图函数绘制出二维图像; (4)比较好的方式是,能够动态的改变灰度直方图的显示范围,从而清晰的显示某一段灰度区间内的具体情况。 示例参见实际程序代码。,14,二、灰度的线性变换,1、理论基础 灰度的线性变换就是将图像中所有的点的灰度按照线性变换函
6、数进行变换。该线性变换函数f(x)是一个一维线性函数: f(x) = fA * x + fB,15,灰度变换方程为: DB = f(DA) = fA * DA + fB 式中参数fA为线性函数的斜率,fB为线性函数在y轴的截距,DA表示输入图像的灰度,DB表示输出图像的灰度。 当fA=1且fB!=0时,操作仅使所有像素的灰度值上移或下移,其效果是使整个图像更暗或者更亮;,16,如果fA0,暗区域将变量,亮区域将变暗,点运算完成了图像求补运算; 特殊情况下,当fA=1,fB=0时,输出图像和输入图像相同; 当fA=-1,fB=255时,输出图像正好反转,这正是对图像求“反色”。,17,图5-3
7、反色,反色的实际含义是将R、G、B值反转。若颜色的量化级别是256,则新图的R、G、B值为255减去原图的R、G、B值,线性变换的特例反色,18,2、编程实现图像线性变换,图像灰度的变换操作不需要改变DIB的调色板和头文件,只要得到指向DIB像素起始地址的指针,然后在扫描所有像素点的过程中实现算法即可。 线性变换的代码截图见图5-4。 注意把代码中的公式,和理论上的公式:f(x) = fA * x + fB 对比理解。,19,图5-4 线性变换代码截图,20,三、图像增强,1、概述和分类 (1)“好”图像的概念是相对的 图像增强技术作为一大类基本的图像处理技术,其目的是对图像进行加工,以得到对
8、具体应用来说视觉效果更“好”,更“有用”的图象。 由于具体应用的目的和要求不同,因而这里的“好”和“有用”的含义也不相同,并且所要需要的具体增强技术也可以大不相同。,21,从根本上说,并没有图像增强的通用标准,观察者事某种增强技术优劣的最终判断者。由于视觉检查和评价是相当主观的过程,所以所谓“好图像”的定义在比较增强算法性能中实际上是多变不定的。 (2)空域和频域 目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方法和基于变换域的方法。,22,顾名思义,前者直接在图像所在的空间进行处理,而后者对图像的处理是通过在图像的变换域而间接进行的。 (3)图像的空域处理 前者根据对图像的
9、每次处理是对单个像素进行的或者是对小的子图象(模板)进行的可分为2组:基于像素(点)和基于模板的。,23,在基于像素的处理(也叫点处理)中,增强过程对每个像素的处理与其它像素无关;模板处理则是指每次处理操作都是基于图像中的某个小区域进行的。 在图像处理中,空域是指由像素组成的空间。空域增强方法是直接作用与像素的增强方法,可表示为: g(x,y) = EHf(x,y) (5.1),基于像素点的处理,24,上式中,f(.)和g(.)分别表示增强前后的图像,而EH代表增强操作。 如果EH是定义在每个(x,y)上的,则EH是点操作;如果EH是定义在 (x,y)的某个领域上,则EH常被称为模板操作。 E
10、H既可以作用于一幅图像f(.),也可以作用于一系列图像f1(.), f2(.), fn(.)之上。,25,从增强操作容易实现的角度出发,最常用的邻域是正方形。这个正方形最小可以为一个像素(此时实际为点操作,所以点操作可以看作是模板操作的一个特例)。在这种情况下,g(.)的值取决于(x,y)处的f(.)值,而EH就是1个灰度变换。,26,一般情况下,像素的领域比一个像素要大,或者说这个像素的领域中除了其本身外,还有其他的像素。 在这种情况下,g(.)在(x,y)位置处的值不仅取决于f(.)在(x,y)位置处的值,而且取决于f(.)在以(x,y)为中心的领域内所有象素的值。,基于模板的处理,27,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 直方图 修正 增强
链接地址:https://www.31doc.com/p-2084258.html