第4章灰度图像处理课件.ppt
《第4章灰度图像处理课件.ppt》由会员分享,可在线阅读,更多相关《第4章灰度图像处理课件.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像1 1、分量法、分量法 2 2、最大值法、最大值法3 3、平均值法、平均值法4 4、加权平均法、加权平均法4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像GetPixelGetPixel函数功能函数功能:该函数检索指定坐标点的像素的:该函数检索指定坐标点的像素的RGBRGB颜色值。颜色值。 函数原型函数原型:COLORREF GetPixel(HDC hdc, int nXPos, int nYPos) COLORREF GetPixel(HDC hdc, int nXPos, int nYPos) 参数参数: hdchdc:设备环境句柄
2、。:设备环境句柄。 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 Long4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像SetPixelSetPixel
3、函数功能函数功能:该函数将指定坐标处的像素设为指定的颜色。:该函数将指定坐标处的像素设为指定的颜色。 函数原型函数原型:COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF crColor)crColor); 参数参数: :hdchdc:设备环境句柄。:设备环境句柄。 X X:指定要设置的点的:指定要设置的点的X X轴坐标,按逻辑单位表示坐标。轴坐标,按逻辑单位表示坐标。 Y Y:指定要设置的点的:指定要设置的点的Y Y轴坐标,按逻辑单位表示坐标。轴
4、坐标,按逻辑单位表示坐标。 crColorcrColor:指定要用来绘制该点的颜色。:指定要用来绘制该点的颜色。 返回值:如果函数执行成功,那么返回值就是函数设置像素的返回值:如果函数执行成功,那么返回值就是函数设置像素的RGBRGB颜色值。颜色值。这个值可能与这个值可能与crColorcrColor指定的颜色有所不同,之所以有时发生这种情况是因为指定的颜色有所不同,之所以有时发生这种情况是因为没有找到对指定颜色进行真正匹配造成的;如果函数失败,那么返回值是没有找到对指定颜色进行真正匹配造成的;如果函数失败,那么返回值是-1-1。 声明方法:声明方法:Private Declare Funct
5、ion SetPixelV Lib gdi32 (ByVal hdc As Long, ByVal x As Long, ByVal Y As Long, ByVal crColor As Long) As Long4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像1 1、分量法(、分量法(R R分量法)分量法) Private Sub Command2_Click() Picture1.Picture = Picture2.Picture w = Picture1.ScaleWidth h = Picture1.ScaleHeight For i = 0 To w-1 For j = 0
6、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 Sub4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像2 2、最大值法、最大值法Pr
7、ivate 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 Green And Red Blue The
8、n 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 Sub4.1 4.1 彩色图像转灰度图像彩色图像转灰度图像3 3、平均值法、平均值法Private Sub Command4_Click() Picture1.Picture =
9、 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
10、= RGB(col, col, col) SetPixelV Picture2.hdc, i, j, rgb1 Next j Next iPicture2.Picture = Picture2.ImageEnd Sub4.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 rgb
11、1 = GetPixel(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.Pi
12、cture = Picture2.ImageEnd Sub4.2 4.2 直直 方方 图图 4.2.1 4.2.1 直方图的基本概念直方图的基本概念 灰度直方图表示图像中具有某种灰度级的像素的个数。灰度直方图表示图像中具有某种灰度级的像素的个数。66463132664166654366466112234665432115243546526144.2.2 4.2.2 直方图的性质直方图的性质(a )(b ) (3 3) 图像各子区的直方图之和就等于该图像全图的直方图。图像各子区的直方图之和就等于该图像全图的直方图。 (a)(b)(c)(1 1) 只含图像各灰度值像素出现的概率,而无位置信息。只含
13、图像各灰度值像素出现的概率,而无位置信息。(2 2) 图像与直方图之间是多对一的映射关系。图像与直方图之间是多对一的映射关系。 在离散形式下在离散形式下, ,灰度直方图的计算如下:灰度直方图的计算如下:在坐标中做出在坐标中做出r rk k与与p pr r( (r rk k) )的关系图形,即为该图像的直方图。的关系图形,即为该图像的直方图。nnrpkkr)(r rk k代表离散灰代表离散灰度级度级p pr r( (r rk k) )代表概代表概率密度函数率密度函数, ,表示原始图表示原始图像的灰度分像的灰度分布布n nk k为图像中出现为图像中出现r rk k级灰度的像素数级灰度的像素数n n
14、是图像像素总数是图像像素总数4.2.3 4.2.3 直方图的计算与简单绘制直方图的计算与简单绘制 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)用于设定坐标系统用于设定坐标系统。
15、(x1,y1)是坐标系统的左上角坐标,是坐标系统的左上角坐标,(x2,y2)是坐是坐标系统的右下角坐标。标系统的右下角坐标。设计一图像直方图程序设计一图像直方图程序 一幅给定图像的灰度级分布在一幅给定图像的灰度级分布在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 r1
16、1, 有有 00s s11。 保证了图像的灰度级保证了图像的灰度级从白到黑的次序不变从白到黑的次序不变保证了映射变换后保证了映射变换后的像素灰度值在容的像素灰度值在容许的范围内许的范围内4.2.4 4.2.4 直方图的映射变换直方图的映射变换 直方图均衡化直方图均衡化处理是以处理是以累积分布函数变换法累积分布函数变换法为基础的为基础的直方图修正法直方图修正法。变换函数为。变换函数为 式中:式中:是积分变量,而是积分变量,而 就是就是r r的累积分布函数。的累积分布函数。 dprr0)(dprTsrr)()(04.2.5 4.2.5 直方图均衡直方图均衡当灰度级是离散值时:当灰度级是离散值时:1
17、, 1 , 010)()(00lkrrpnnrTsjkjjrkjjkk其反变换式为其反变换式为 )(1kksTr6646313266416665436646611223466543214.2.5 4.2.5 直方图均衡直方图均衡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 651369)()()()(101011rPrPrPrTsrrjjr51365)()()(00000rPrPrTsrjjr523614)()()(212022rPsrPrT
18、srjjr533620)()()(323033rPsrPrTsrjjr533622)()(4344rPsrTsr13636)()(5455rPsrTsr4.2.5 4.2.5 直方图均衡直方图均衡1 2 3 4 5 6Matlab程序:程序:clear all; close all;I=imread(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
19、); title(直方图均衡化后的图像直方图均衡化后的图像); subplot(2,2,4),imhist(J); title(均衡化后的图像的直方图均衡化后的图像的直方图)4.2.5 4.2.5 直方图均衡直方图均衡4.3 4.3 灰灰 度度 变变 换换 4.3.1 灰度线性变换 原图像原图像f(x, y)的灰度范围为的灰度范围为a, b,希望变换后图像,希望变换后图像g(x, y)的灰度范围扩至的灰度范围扩至c, d,则线性变换可表示为,则线性变换可表示为: cayxfabcdyxg),(),(f (x, y)Oabcdg(x, y)2552550输入灰度输出灰度),(255),(yxfy
20、xg实例:逆反处理实例:逆反处理For j = 0 To h- 1 For i = 0 To w - 1 g(i,j) = 255 - f(i, j) Next iNext j 突出感兴趣的灰度区间。突出感兴趣的灰度区间。 常用的三段线性变换法其数学表达式如下:常用的三段线性变换法其数学表达式如下: dbyxfbMdMcayxfadcdyxfacyxgfg),(),(),(),(fMyxfb),(4.3.2 4.3.2 分段线性变换分段线性变换 byxfa),(ayxf),(0利用利用MatlabMatlab进行图像灰度变换进行图像灰度变换设计程序设计程序figure(1);i=imread(
21、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(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函数:如果输入是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 灰度 图像 处理 课件
限制150内