第4章灰度图像处理PPT讲稿.ppt
《第4章灰度图像处理PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第4章灰度图像处理PPT讲稿.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章灰度图像处理第1页,共94页,编辑于2022年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像1 1、分量法、分量法 2 2、最大值法、最大值法3 3、平均值法、平均值法4 4、加权平均法、加权平均法第2页,共94页,编辑于2022年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像GetPixelGetPixel函数功能函数功能:该函数检索指定坐标点的像素的:该函数检索指定坐标点的像素的RGBRGB颜色值。颜色值。函数原型函数原型:COLORREF GetPixel(HDC hdc,int nXPos,int nYPos)COLORREF GetPixel(HDC
2、 hdc,int nXPos,int nYPos)参数参数:hdchdc:设备环境句柄。:设备环境句柄。nXPosnXPos:指定要检查的像素点的逻辑:指定要检查的像素点的逻辑X X轴坐标。轴坐标。nYPosnYPos:指定要检查的像素点的逻辑:指定要检查的像素点的逻辑Y Y轴坐标。轴坐标。返回值:返回值是该象像点的返回值:返回值是该象像点的RGBRGB值。值。声明方法:声明方法:Private Declare Function GetPixel Lib gdi32(ByVal hdc As Long,ByVal x As Long,ByVal Y As Long)As Long第3页,共94
3、页,编辑于2022年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像SetPixelSetPixel函数功能函数功能:该函数将指定坐标处的像素设为指定的颜色。:该函数将指定坐标处的像素设为指定的颜色。函数原型函数原型:COLORREF SetPixel(HDC hdc,int X,int Y,COLORREF crColor)COLORREF SetPixel(HDC hdc,int X,int Y,COLORREF crColor);参数参数:hdchdc:设备环境句柄。:设备环境句柄。X X:指定要设置的点的:指定要设置的点的X X轴坐标,按逻辑单位表示坐标。轴坐标,按逻辑单位
4、表示坐标。Y Y:指定要设置的点的:指定要设置的点的Y Y轴坐标,按逻辑单位表示坐标。轴坐标,按逻辑单位表示坐标。crColorcrColor:指定要用来绘制该点的颜色。:指定要用来绘制该点的颜色。返回值:如果函数执行成功,那么返回值就是函数设置像素的返回值:如果函数执行成功,那么返回值就是函数设置像素的RGBRGB颜色值。这个值可颜色值。这个值可能与能与crColorcrColor指定的颜色有所不同,之所以有时发生这种情况是因为没有找到对指指定的颜色有所不同,之所以有时发生这种情况是因为没有找到对指定颜色进行真正匹配造成的;如果函数失败,那么返回值是定颜色进行真正匹配造成的;如果函数失败,那
5、么返回值是-1-1。声明方法:声明方法:Private Declare Function SetPixelV Lib gdi32(ByVal hdc As Long,ByVal x As Long,ByVal Y As Long,ByVal crColor As Long)As Long第4页,共94页,编辑于2022年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像1 1、分量法(、分量法(R R分量法)分量法)Private Sub Command2_Click()Picture1.Picture=Picture2.Picture w=Picture1.ScaleWidth h
6、=Picture1.ScaleHeight For i=0 To w-1 For j=0 To h-1 rgb=GetPixel(Picture1.hdc,i,j)Red=rgb mod 256 获得红色值获得红色值 Green=rgb 256 mod 256 获得绿色值获得绿色值 Blue=rgb65536 获得兰色值获得兰色值 取取R分量作为灰度分量作为灰度 rgb=RGB(Red,Red,Red)SetPixelV Picture2.hdc,i,j,rgb Next j Next iPicture2.Picture=Picture2.ImageEnd Sub第5页,共94页,编辑于202
7、2年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像2 2、最大值法、最大值法Private Sub Command3_Click()w=Picture1.ScaleWidth h=Picture1.ScaleHeight For i=0 To w-1 For j=0 To h-1 rgb1=GetPixel(Picture1.hdc,i,j)Red=rgb1 Mod 256 获得红色值获得红色值 Green=rgb1 256 Mod 256 获得绿色值获得绿色值 Blue=rgb1 65536 获得兰色值获得兰色值 取取R、G、B分量最大值作为灰度分量最大值作为灰度 If Red
8、 Green And Red Blue Then Col=Red If Green Red And Green Blue Then Col=Green If Blue Red And Blue Green Then Col=Blue rgb1=RGB(Col,Col,Col)SetPixelV Picture2.hdc,i,j,rgb1 Next j Next iPicture2.Picture=Picture2.ImageEnd Sub第6页,共94页,编辑于2022年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像3 3、平均值法、平均值法Private Sub Command
9、4_Click()Picture1.Picture=Picture2.Picture w=Picture1.ScaleWidth h=Picture1.ScaleHeight For i=0 To w-1 For j=0 To h-1 rgb1=GetPixel(Picture1.hdc,i,j)Red=rgb1 Mod 256 获得红色值获得红色值 Green=rgb1 256 Mod 256 获得绿色值获得绿色值 Blue=rgb1 65536 获得兰色值获得兰色值 取取R、G、B三分量平均值作为灰度三分量平均值作为灰度 col=(Red+Green+Blue)/3 rgb1=RGB(co
10、l,col,col)SetPixelV Picture2.hdc,i,j,rgb1 Next j Next iPicture2.Picture=Picture2.ImageEnd Sub第7页,共94页,编辑于2022年,星期二4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像4 4、加权平均法、加权平均法Private Sub Command5_Click()Picture1.Picture=Picture2.Picture w=Picture1.ScaleWidth h=Picture1.ScaleHeightFor i=0 To w-1 For j=0 To h-1 rgb1=GetP
11、ixel(Picture1.hdc,i,j)Blue=rgb1 mod 256 获得兰色值获得兰色值 Red=rgb1256 mod 256 获得红色值获得红色值 Green=rgb1 65536 获得绿色值获得绿色值 将三原色取其权值转换为灰度将三原色取其权值转换为灰度 Y=(9798*Red+19235*Green+3735*Blue)32768 将灰度转换为将灰度转换为RGB rgb1=RGB(Y,Y,Y)SetPixelV picture2.hdc,i,j,rgb1 Next j Next iPicture2.Picture=Picture2.ImageEnd Sub第8页,共94页,
12、编辑于2022年,星期二4.2 4.2 直直 方方 图图 4.2.1 4.2.1 直方图的基本概念直方图的基本概念 灰度直方图表示图像中具有某种灰度级的像素的个数。灰度直方图表示图像中具有某种灰度级的像素的个数。6646313266416665436646611223466543211524354652614第9页,共94页,编辑于2022年,星期二4.2.2 4.2.2 直方图的性质直方图的性质 (3 3)图像各子区的直方图之和就等于该图像全图的直方图。图像各子区的直方图之和就等于该图像全图的直方图。(1 1)只含图像各灰度值像素出现的概率,而无位置信息。只含图像各灰度值像素出现的概率,而无
13、位置信息。(2 2)图像与直方图之间是多对一的映射关系。图像与直方图之间是多对一的映射关系。第10页,共94页,编辑于2022年,星期二 在离散形式下在离散形式下,灰度直方图的计算如下:灰度直方图的计算如下:在坐标中做出在坐标中做出r rk k与与p pr r(r rk k)的关系图形,即为该图像的直方图。的关系图形,即为该图像的直方图。r rk k代表离散灰代表离散灰度级度级p pr r(r rk k)代表概率代表概率密度函数密度函数,表示表示原始图像的灰原始图像的灰度分布度分布n nk k为图像中出现为图像中出现r rk k级灰度的像素数级灰度的像素数n n是图像像素总数是图像像素总数4.
14、2.3 4.2.3 直方图的计算与简单绘制直方图的计算与简单绘制 第11页,共94页,编辑于2022年,星期二LineLine方法:方法:object.Line(x1,y1)-(x2,y2),RGB(Red,Green,Blue)(x1,y1)是直线的起点坐标,若省略是直线的起点坐标,若省略(x1,y1),则起点为当前坐标位置则起点为当前坐标位置(CurrentX,CurrentY)。(x2,y2)是直线的终点坐标。是直线的终点坐标。直方图程序设计直方图程序设计scalescale方法:方法:object.scale(x1,y1)-(x2,y2)用于设定坐标系统用于设定坐标系统。(x1,y1)
15、是坐标系统的左上角坐标,是坐标系统的左上角坐标,(x2,y2)是坐标系统是坐标系统的右下角坐标。的右下角坐标。设计一图像直方图程序设计一图像直方图程序第12页,共94页,编辑于2022年,星期二 一一幅幅给给定定图图像像的的灰灰度度级级分分布布在在00r r11范范围围内内(灰灰度度级级进进行行了了归归一)。可以对一)。可以对0,10,1内的任一内的任一r r值进行变换值进行变换 s s=T T(r r)变换函数变换函数T T(r r)应满足下列条件:应满足下列条件:(1 1)在在00r r11区间内,区间内,T T(r r)值单调增加;值单调增加;(2 2)对于对于00r r11,有有 00
16、s s11。保证了图像的灰度级从保证了图像的灰度级从白到黑的次序不变白到黑的次序不变保证了映射变换后保证了映射变换后的像素灰度值在容的像素灰度值在容许的范围内许的范围内4.2.4 4.2.4 直方图的映射变换直方图的映射变换第13页,共94页,编辑于2022年,星期二 直方图均衡化直方图均衡化处理是以处理是以累积分布函数变换法累积分布函数变换法为基础的为基础的直方图修正法直方图修正法。变换函数为。变换函数为 式中:式中:是积分变量,而是积分变量,而 就是就是r r的累积分布函数。的累积分布函数。4.2.5 4.2.5 直方图均衡直方图均衡第14页,共94页,编辑于2022年,星期二当灰度级是离
17、散值时:当灰度级是离散值时:其反变换式为其反变换式为 6646313266416665436646611223466543214.2.5 4.2.5 直方图均衡直方图均衡第15页,共94页,编辑于2022年,星期二rknknk/nr5=1r1=1/5r2=2/5r3=3/5r4=4/5r0=014/364/365/366/362/365/36n5=14n1=4n2=5n3=6n4=2n0=51 2 3 4 5 64.2.5 4.2.5 直方图均衡直方图均衡1 2 3 4 5 6第16页,共94页,编辑于2022年,星期二Matlab程序:程序:clear all;close all;I=imr
18、ead(pout.tif);subplot(2,2,1),imshow(I);title(原图像原图像);subplot(2,2,2),imhist(I);title(原图像的直方图原图像的直方图);J=histeq(I);%直方图均衡化直方图均衡化subplot(2,2,3),imshow(J);title(直方图均衡化后的图像直方图均衡化后的图像);subplot(2,2,4),imhist(J);title(均衡化后的图像的直方图均衡化后的图像的直方图)第17页,共94页,编辑于2022年,星期二4.2.5 4.2.5 直方图均衡直方图均衡第18页,共94页,编辑于2022年,星期二4.
19、3 4.3 灰灰 度度 变变 换换 4.3.1 灰度线性变换 原图像原图像f(x,y)的灰度范围为的灰度范围为a,b,希望变换后图像,希望变换后图像g(x,y)的灰度范围扩至的灰度范围扩至c,d,则线性变换可表示为,则线性变换可表示为:第19页,共94页,编辑于2022年,星期二2552550输入灰度输出灰度实例:逆反处理实例:逆反处理For j=0 To h-1 For i=0 To w-1 g(i,j)=255-f(i,j)Next iNext j第20页,共94页,编辑于2022年,星期二 突出感兴趣的灰度区间。突出感兴趣的灰度区间。常用的三段线性变换法其数学表达式如下:常用的三段线性变
20、换法其数学表达式如下:4.3.2 4.3.2 分段线性变换分段线性变换 第21页,共94页,编辑于2022年,星期二利用利用MatlabMatlab进行图像灰度变换进行图像灰度变换第22页,共94页,编辑于2022年,星期二设计程序设计程序figure(1);i=imread(car.bmp);i=im2double(i);imshow(i);title(原图);figure(2);r=0:0.001:1;s=r0.35.*r*0.3+r=0.35.*(0.105+2.6333*(r-0.35)+r0.65.*(1+0.3*(r-1);plot(r,s);title(变换公式);figure(
21、3);T1=i0.35.*i*0.3+i=0.35.*(0.105+2.6333*(i-0.35)+i0.65.*(1+0.3*(i-1);imshow(T1);title(变换后图像);imwrite(T1,car_T1.bmp,bmp);im2double函数:如果输入是函数:如果输入是 uint8,unit16,或者是二值的或者是二值的logical类型,则函数类型,则函数im2double 将其值归一化到将其值归一化到01之间。如果输之间。如果输入本身就是入本身就是double类型,输出还是类型,输出还是double类型,并不进行归一化。类型,并不进行归一化。第23页,共94页,编辑于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 灰度 图像 处理 PPT 讲稿
限制150内