【vc++精品源码栏目提醒】:网学会员鉴于大家对vc++精品源码十分关注,论文会员在此为大家搜集整理了“VC++数字图像处理源程序及详解之1(灰度直方图) - 计算机教材”一文,供大家参考学习
图像的点运算 图像的点运算是图像处理中相对简单的技术,它主要用于改变一幅图像的灰度分布范围。
点运算通过一个变换函数将图 像的像素一一转换,最终构成一幅新的图像。
由于操作对象是图像的一个个像素,故得名为“点运算”。
点运算的最大特点是输出像素值只与当前输入像素值有关。
点运算的图像处理过程可以用以下公式表示: gx yTfx y 其中fx y表示输入图像,gx y表示处理后的图像。
函数T是对f的一种变换操作,在这里它表示灰度变换公式。
可以看到,对于点运算而言,最重要的是确定灰度变换公式。
变换公式一旦确 定,点运算对于图像的处理效果就确定了。
本章研究的主要内容包括灰度直方图、线性变换、非线性变换、阈值变换、灰度拉伸及灰度均衡等。
若无特别说明,本 章的点运算函数所针对的待处理对象即为8位灰度图。
■ 本章
学习地图 ◆ 学会利用灰度直方图查看图像信息 ◆ 了解各种灰度变换公式 ◆ 掌握各种灰度变换的实现方法 ◆ 进一步了解各种点运算对于图像效果的影响 本节介绍灰度直方图的相关概念和实现原理,它是提取图像信息的重要工具之一。
任何一幅图像都包含着丰富的图像信息,对于图像处理而言,如何提取这些信息并找出其中的特征就显得十分关键。
灰度直方图直观地显示了图像灰度分布的情况,这些信息在图像灰度变换等处理过程中显得十分重要。
在本章随后的内容中,也会经常通过直方图来分析变换后的图 像效果。
图9-1显示一幅灰度图及它所对应的灰度直方图。
可以看到,灰度直方图是一个二维图。
从数学上来说,它描绘了图像各灰度值的统计特性,显示了各个灰度级出现的次数或概率。
从图形上来说,其横坐标表示图像 的灰度值,取值范围是0到255。
其纵坐标则通过高度来表示出现次数的多少或者概率的高低。
在本章中,纵坐标表示像素出现的次数,最大值为该图像在0至 255阶灰度上分布像素出现次数的最大值。
图9-1 利用灰度直方图显示图像灰度分布 需要说明的是,如果没有特别指出,在本章后续内容 中的所有变换都是基于图9-1中左侧的图像进行的。
接下来分析直方图的作用。
图9-2所示的4幅图像 都是根据同一幅图像进行基本灰度特征处理后获得的,分别是高亮度、低亮度、高对比度、低对比度4种类型的图像。
每幅图像右侧都显示了对应的直方图。
仔细观 察可以发现如下特征。
图9-2 4种基本图像及对应的直方图 高亮度图像的直方图组成集中在灰度高的一侧。
8位 灰度图能表示256种灰度,也就是灰度取值范围为0至255。
其中0表示黑色,255表示白色。
对于高亮度图像,整个画面的颜色偏亮,故灰度直方图偏向灰 度高的一侧。
相反,低亮度图像的直方图则偏向灰度较低的一侧。
在高对比度的图像中,直方图的覆盖范围很广。
图像 在任意一段灰度范围中都有一定的像素数量。
同时,高对比图像的灰度分布相比其他图像而言较为均匀,整个直方图显得比较平滑。
而低对比度图像的灰度则主要分 布在中间狭窄的区域中,图像就像被冲淡了一样。
灰度直方图的基本思想是统计。
对于拥有256种灰度的图像,灰度值为k的像素个数由一个离散函 数确定: 其中nk表 示当前图像灰度值为k的像素个数,则对应的出现概率可以使用如下公式表示: ,显然有成 立。
其中n表示图像像素个数的总和,可 以用图像宽度与高度的乘积来表示。
本章灰度直方图的坐标系为。
横坐标表示输入灰度值k,而纵坐标表示对应灰度值的统计个数nk。
可见,绘制直方图最重要的是确定灰 度值为k的像素个数。
直方图在绘制时采用相对高度,即纵坐标的最大值为ymaxmaxn0n1n2????n254n255, 如果ymax的绘制高度为1,灰度值k的绘制高度为。
本节通过对话框实现灰度直方图的显示,其效果见图 9-3所示。
图9-3 灰度直方图对话框 灰度直方图对话框实现了如下功 能。
l 灰度直方图的显示。
l 允许用户修改显示灰度的上限和下限。
对于一些图像而言,可能某个像素值的计数远远大于其他像素的个数,这样往往看不清其他灰度的分布。
例如白色背景的图 片,拥有灰度值255的像素个数相对较多。
该对话框提供了一个灰度区间显示的功能,如图9-4所示。
图9-4 灰度直方图的区间显示 可以看到,改变显示灰度的范围后,用户能够更加清 楚地了解某一区域的灰度分布特征。
l 允许用户通过鼠标操作来改变显示灰度的上限和下限。
方法很简单,只需要拖动对话框上两侧的蓝色虚线即可。
l 显示当前鼠标所在位置的灰度值及出现的几率。
MagicHouse是贯穿本书第3篇的重点实 例。
它是一款以图像处理为主,综合图像浏览等多种功能的实用
软件。
MagicHouse支持多种常见图片格式,并实现了以下功能。
l 图像的浏览 l 图像的特效显示 l 图像的点运算 l 图像的几何变换 l 图