VC++数字图像处理源程序及详解之2(灰度线性变换).pdf

VC++数字图像处理源程序及详解之2(灰度线性变换).pdf

ID:51494657

大小:187.12 KB

页数:8页

时间:2020-03-25

VC++数字图像处理源程序及详解之2(灰度线性变换).pdf_第1页
VC++数字图像处理源程序及详解之2(灰度线性变换).pdf_第2页
VC++数字图像处理源程序及详解之2(灰度线性变换).pdf_第3页
VC++数字图像处理源程序及详解之2(灰度线性变换).pdf_第4页
VC++数字图像处理源程序及详解之2(灰度线性变换).pdf_第5页
资源描述:

《VC++数字图像处理源程序及详解之2(灰度线性变换).pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、9.2灰度线性变换灰度线性变换是最常用的点运算操作之一,下面先介绍其基本原理。9.2.1基本原理灰度线性变换是灰度变换的一种,图像的灰度变换通过建立灰度映射来调整源图像的灰度从而达到图像增强的目的。灰度映射通常是用灰度变换曲线来表示的,如图9-7所示。灰度线性变换就是将图像的像素值通过指定的线性函数进行变换,以此增强或者减弱图像的灰度。灰度线性变换的公式就是常见的一维线性函数:g(x,y)=kf(x,y)+d设x为原始灰度值,则变换后的灰度值y为:也可以在坐标系中表示转化关系,如图9-7所示。图9-7灰度线性变换图9-7坐标中的横轴表示输入灰度值,范围是0至255;纵坐标表示输出灰度值,范围同

2、样是0至255;直线则为线性变换函数的图形。如果将输入灰度值作为自变量x,则输出的灰度值就是函数y=T(x)的运算结果。对于线性变换而言,有T(x)=kx+d。例如图9-7中的变换函数为T(x)=x,即原公式中的k=1,d=0。由数学知识可以知道k表示直线的斜率,也就是倾斜程度;d为线性函数在y轴的斜率。下面通过讨论k的取值来分析灰度线性变换的效果。1)当k>1时此时可用于增加图像的对比度。图像的像素值在变换后全部增大,整体显示效果被增强,如图9-8所示。图9-8变换后的图像、对应变换函数和直方图可以看到,图像经过变换后,其灰度分布被拉伸了。读者可以与图9-1中的直方图进行比较。2)当k=1时

3、这种情况常用于调节图像亮度。在第6章中已经介绍过了,亮度的调节就是让图像的各像素值都增加或者减少一定量。这种情况下可以通过改变d的值达到增加或者减少图像亮度的目的,如图9-9所示。图9-9利用线性变换改变图像亮度可以看到,当d>0时图像亮度增加,反之则减少。对应直方图的显示效果是灰度分布整体向右或者向左平移。3)当01时刚刚相反,图像的对比度和整体效果都被削弱。从图9-10中的直方图可以看到,灰度分布被集中在一段区域上。k越小,图像的灰度分布越窄,图像看起来也就越偏灰色。图9-10利用线性变换改变图像对比度4)当k<0时在这种情况下,源图像较亮的区域变暗,而较暗的区域会变亮

4、。此时可以使函数中的k=-1,d=255让图像实现反色效果,如图9-11所示。图9-11利用线性变换让图像反色9.2.2编程实现1.线性变换函数灰度线性变换的函数代码如下:/****************************************************************************作用:线性变换函数*参数:*pixel:原始像素数组*tempPixel:保存变换后的图像像素数组*width:原始图像宽度*height:原始图像高度*slope:线性函数的斜率*inter:线性函数的截距*备注:此函数对于彩色图同样适用*****************

5、**********************************************************/voidLineTrans(BYTE*pixel,BYTE*tempPixel,UINTwidth,UINTheight,doubleslope,doubleinter){//灰度映射表BYTEmap[256];//保存运算后的临时值doubledTemp;for(inti=0;i<256;i++){//计算当前像素变换后的值dTemp=slope*i+inter;//如果超界则修改其值if(dTemp<0)dTemp=0.0;elseif(dTemp>255)dTemp=25

6、5;//四舍五入map[i]=int(dTemp+0.5);}//线性变换后的值直接在映射表中查找for(UINTi=0;i

7、变换运算,并将结果保存在一个大小为256的数组中,这样,输入灰度值与运算后的值之间就建立了一一映射关系,通过映射表就能够直接获取变换后的结果。这种方法对于任意图像都只进行256次运算,大大提高了效率。2.线性变换对话框本节利用线性变换对话框实现灰度的线性变换,效果如图9-12所示。该对话框能够通过设置斜率和截距改变图像,同时提供预览框显示当前变换函数的图形。打开MagicHouse项目文件,调出“

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。