欢迎来到天天文库
浏览记录
ID:36878758
大小:353.60 KB
页数:22页
时间:2019-05-10
《《图像灰度变换》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章图像灰度变换本章要点:灰度变换的基本方法二值化和阈值处理灰度的线性变换窗口灰度变换处理分段线性变换灰度直方图灰度分布均衡化灰度匹配变换4.1灰度变换的基本方法图像的灰度变换(Gray-ScaleTransformation,GST)处理是图像增强处理技术中一种非常基础、直接的空间域图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分。灰度变换是指根据某种目标条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。目的是为了改善画质,使图像的显示效果更加清晰。灰度变换有
2、时又被称为图像的对比度增强或对比度拉伸。例如为了显示出图像的细节部分或提高图像的清晰度,需要将图像整个范围的灰度级或其中某一段(a,b)灰度级扩展或压缩到(a′,b′),这些都要求采用灰度变换方法。从图像输入装置得到的图像数据,以浓淡表示,各个像素与某一灰度值相对应。设原图像像素的灰度值D=f(x,y),处理后图像像素的灰度值D′=g(x,y),则灰度增强可表示为:或要求D和D′都在图像的灰度范围之内。函数称为灰度变换函数,它描述了输入灰度值和输出灰度值之间的转换关系。根据,可以将灰度变换分为线性变换和
3、非线性变换。本章中所介绍的非0元素取1法、固定阀值法、双固定阀值法都属于非线性灰度变换。4.2二值化和阈值处理设定某一阈值T,用T将图像的数据分成两大部分:大于T的像素群和小于T的像素群。这是研究灰度变换最特殊的方法,称为图像的二值化(binarization)。阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。阈值化的变换函数表达式如下:0xT其中T为指定的阈值。
4、阈值T就像个门槛,比它大就是白,比它小就是黑。该变换函数是阶跃函数,只需给出阈值点T即可,经过阈值处理后的图像变成了一幅黑白二值图,阈值处理是灰度图转二值图的一种常用方法。4.2.1非零元素取一法1.理论基础非零元素取一法是最基础的二值化算法。顾名思义非0取1就是对于灰度图像f,若某像素灰度值为0,则其灰度值不变,仍为零;对于灰度值不为零的像素,将其像素值全部变为255。非零元素取一法的阈值T=1。非零元素取一法的变换函数表达式如下:0x<1f(x)=(4-2)255x>1图4-1非零元素取一法灰度变换
5、函数g25501255f2.实现步骤(1)取得原图的数据区指针。(2)每个像素依次循环,若该像素灰度值为0,则不变;若该像素灰度值不为0,则置为255。3.程序代码voidHuiDuBianHuanDib::Fei0()//对图像进行非零取一运算{LPBYTEp_data;//原图数据区指针intwide,height;//原图长、宽p_data=this->GetData();//取得原图的数据区指针wide=this->GetWidth();height=this->GetHeight();for(
6、intj=0;j7、换函数表达式如下:0xT其中T为指定的阈值。g255f0T2552.实现步骤1)取得原图的数据区指针。2)通过对话框输入阈值T。3)所有像素依次循环,若像素灰度值小于T,则将该像素置为0;否则置为255。3.编程代码voidHuiDuBianHuanDib::GuDing(intYuZhi)//固定阀值运算{LPBYTEp_data;//原图数据区指针intwide,height;//原图长、宽p_data=this->GetData();//取得原图的数据区指针wide=thi8、s->GetWidth();height=this->GetHeight();for(intj=0;jYuZhi)//灰度值大于给定阈值,置为255*p_data=255;else*p_data=0;//不大于置为0p_data++;}}效果对比图(a)原图(b)以100作为阈值二值化的图图4-3固定阀值法4.2.3双固定阀值法1.理论基础相对于前面
7、换函数表达式如下:0xT其中T为指定的阈值。g255f0T2552.实现步骤1)取得原图的数据区指针。2)通过对话框输入阈值T。3)所有像素依次循环,若像素灰度值小于T,则将该像素置为0;否则置为255。3.编程代码voidHuiDuBianHuanDib::GuDing(intYuZhi)//固定阀值运算{LPBYTEp_data;//原图数据区指针intwide,height;//原图长、宽p_data=this->GetData();//取得原图的数据区指针wide=thi
8、s->GetWidth();height=this->GetHeight();for(intj=0;jYuZhi)//灰度值大于给定阈值,置为255*p_data=255;else*p_data=0;//不大于置为0p_data++;}}效果对比图(a)原图(b)以100作为阈值二值化的图图4-3固定阀值法4.2.3双固定阀值法1.理论基础相对于前面
此文档下载收益归作者所有