《第2章 数字图像的基本知识精.ppt》由会员分享,可在线阅读,更多相关《第2章 数字图像的基本知识精.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 数字图像的基本知识第1页,本讲稿共21页2.1 彩色计色体系 2.1.1 像素 将一幅摸拟图象划分为很多逐行逐列排列的点,每一点称为一个像素。像素是组成图像的最小单位。对于一幅彩色图象,每个像素需要用3个量来描述。(1)用 RGB 三基色描述像素 R 红色分量红色分量,G 绿色分量,绿色分量,B 蓝色分量蓝色分量R、G、B按不同的比例混合,可得到不同的颜色。例:24位真彩色图像,每个分量用一个字节表示,值范围为0255。能表达的颜色数目为 2563 =16777216 种,足以描述自然界中的绝大部分颜色。目前,.BMP文件大部分都是这种格式。2.1.2 计色体系第2页,本讲稿共21页(
2、2)用 YUV 分量描述像素 Y 亮度分量亮度分量,U 蓝差分量,蓝差分量,V 红差分量红差分量已知已知RGB,可求出,可求出YUV:Y=0.30R+0.59G+0.11BU=BY=0.30R 0.59G+0.89BV=RY=0.7R 0.59G 0.11B矩阵形式:亮度分量代表像素的明暗程度,对于图像的清晰度起决定性作用。亮度分量代表像素的明暗程度,对于图像的清晰度起决定性作用。由于由于U、V分量是三基色分量中扣除色度信号的结果,因此不包括分量是三基色分量中扣除色度信号的结果,因此不包括 亮度成分。亮度成分。U、V分量代表像素的颜色,根据分量代表像素的颜色,根据“大面积着色原理大面积着色原理
3、”,对图像的,对图像的清清 晰度影响不大。晰度影响不大。第3页,本讲稿共21页(3)用 YSC 分量描述像素 Y 亮度分量亮度分量,S 色饱和度分量,色饱和度分量,C 色调分量色调分量已知已知YUV,可求出,可求出YSC:色饱和度 S 代表颜色的深浅,色调 C 代表颜色的种类。S和C统称为色度。UVCS0建立直角坐标系U-V,则:S为色度的大小,C为色度的辐角第4页,本讲稿共21页例:纯红色像素,三基色值为例:纯红色像素,三基色值为 R=255,G=0,B=0。分别用。分别用YUV和和YSC 计色制表示该像素。计色制表示该像素。Y=0.3255+0.590+0.110=76.5 77 U=BY
4、=0 77=77 V=RY=255 77=178 S=(-77)2+(178)2 0.5=193.9 C=arctg(178/77)=arctg(2.31)=113UVC=113S=193.9077178第5页,本讲稿共21页8 种标准颜色的 YSC 值如下表:名称白红绿蓝黄青品黑R,G,B1,1,11,0,00,1,00,0,11,1,00,1,11,0,10,0,0Y1.00.30.590.110.890.70.410S00.760.830.90.90.760.830C无意义 1131356173293 45无意义UV红红113将标准颜色画在U-V坐标系中,称为彩色矢量图。青青293品品4
5、5绿绿225蓝蓝354黄黄173第6页,本讲稿共21页例:有一像素,三基色值为例:有一像素,三基色值为 R=100,G=50,B=200。试判断该像素的颜色。试判断该像素的颜色。Y=0.3100+0.5950+0.11200=81.5 (较暗)(较暗)U=BY=50 81.5=31.5 V=RY=100 81.5=19.5 S=(31.5)2+(19.5)2 0.5=37 (颜色深浅中等)颜色深浅中等)C=arctg(19.5/31.5)=arctg(0.62)=32(紫偏蓝)(紫偏蓝)若知一个像素的三基色值,由彩色矢量图,很容易判断该像素的颜色。R=100,G=50,B=200UV红红113
6、青青293品品45绿绿225蓝蓝354黄黄173第7页,本讲稿共21页2.2 位图图像的组成位图(BITMAP):由逐行逐列的像素排列构成的图像。各像素的存储顺序与像素在图像中的坐标位置成一定的影射关系。没有经过数据压缩,图像质量高。但数据量大。显示时不存在解压缩过程,显示速度快。图像文件:图像文件的格式主要有:位图文件.BMP。Windows系统定义的一种图像文件,直接记录 三基色,未压缩,图像质量高。.JPG文件。采用专门方法进行压缩,压缩是有损的,图像质量有 一定的损失。允许损失越大,能获得的压缩比越高。其他格式。如.GIF、.TIFF等。本节将重点介绍.BMP文件的结构。2.2.1 基
7、本概念第8页,本讲稿共21页 BMP文件由4部分组成:文件头、信息头、彩色表(调色板)、位图点阵2.2.2 BMP文件的结构文件头信息头彩色表位图点阵(1)文件头,共文件头,共14字节。在字节。在VC中用一个结构类型描述:中用一个结构类型描述:tydef sturct WORD bfType;/.BMP文件的标志文件的标志,必须为必须为“BM”的的ASC码码 DWORD bfSize;/.BMP文件的大小(以字节为单位)文件的大小(以字节为单位)WORD bfReserved1;/保留,必须为保留,必须为0X0000 WORD bfReserved2;/保留,必须为保留,必须为0X0000 D
8、WORD bfOffBits;/从文件开头到位图数据开始的字节数从文件开头到位图数据开始的字节数 BITMAPFILEHEADER;第9页,本讲稿共21页文件头信息头彩色表位图点阵(2)信息头,共40个字节。在VC中用一个结构类型描述:tydef sturct DWORD biSize;/本信息头占用的字节数:0 x28 LONG biWidth;/图像的宽度(以像素点为单位)LONG biHeight;/图像的高度(以像素点为单位)WORD biPlanes;/彩色表。24位.BMP文件为0 x1,无彩色表 WORD biBitCount;/一个像素点数据的位数 DWORD biCompre
9、ssion;/压缩方式,0 x0为未压缩 DWORD biSizeImage;/图象尺度 LONG biXPelsPerMeter;/水平分辨率 LONG biYPelsPerMeter;/垂直分辨率 DWORD biClrUsed;/使用的颜色数 DWORD biClrImportant;/重要颜色数 BITMAPINFOHEADER;第10页,本讲稿共21页文件头信息头彩色表位图点阵(3)彩色表 对于24位BMP图像,每像素的三基色分别用3个字节记录,不需要彩色表。对于256色BMP图像,每像素用一个字节记录,该字节表示颜色的编号。什么编号代表什么颜色,由彩色表决定。通过像素编号查找彩色表
10、,从而获得该像素的RG B值。B0G0R0B1G1R1B255G255R2550号颜色1号颜色255号颜色第11页,本讲稿共21页文件头信息头彩色表位图点阵(4)位图点阵)位图点阵 24位位BMP图像,逐行逐列记录各像素的三基色值:图像,逐行逐列记录各像素的三基色值:每像素点占用每像素点占用3 3个个BYTEBYTE,分别为,分别为B B,G G,R R。则一行像素至少要占用。则一行像素至少要占用3n3n个字节。位图个字节。位图电阵用一维数组存放,顺序为:电阵用一维数组存放,顺序为:(1 1)从最下面的一行开始,逐行存放,直到第)从最下面的一行开始,逐行存放,直到第0 0行;行;(2 2)当一
11、行占用的字节数不是)当一行占用的字节数不是4 4的整数倍时,应补充的整数倍时,应补充1 13 3个无效字节,使一行占用的个无效字节,使一行占用的字节数能被字节数能被4 4整除。所补充的无效字节可为任意值,不会影响图像内容。整除。所补充的无效字节可为任意值,不会影响图像内容。例:设图像为例:设图像为638480638480(宽(宽高),则每行占用的有效高),则每行占用的有效字节数为字节数为6383=19146383=1914。但。但19141914不能被不能被4 4整除,应补充两个无整除,应补充两个无效字节,即每行占用的字节数为效字节,即每行占用的字节数为19161916。则:。则:第第i i行
12、、第行、第j j 列像素的蓝色分量在一维数组中的下标为列像素的蓝色分量在一维数组中的下标为:(480-1-i)1916+j3 (480-1-i)1916+j3 第第i i行、第行、第j j 列像素的绿色分量在一维数组中的下标为列像素的绿色分量在一维数组中的下标为:(480-1-i)1916+j3+1 (480-1-i)1916+j3+1第12页,本讲稿共21页2.3 VC+下位图文件数据的读取与显示BITMAPFILEHEADER FileHead;/存放文件头BITMAPINFOHEADER InfoHead;/存放信息头LPBYTE lpImage;/存放位图点阵,显示时需要/存放像素的三
13、基色值,480列,640行struct BYTE B;/红色分量 BYTE G;/蓝色分量 BYTE R;/绿色分量 C3480640;/存放像素的YSC值,480列,640行struct BYTE Y;/亮度 BYTE S;/色饱和度 BYTE C;/色调 YSC480640;(1)定义全局变量。一般在类的头文件中定义第13页,本讲稿共21页(2)打开BMP文件,读取像素。关键代码如下:CFile f;BOOL OK=f.Open(PathName,/PathName=BMP文件名 CFile:modeRead|CFile:typeBinary|CFile:shareExclusive,NU
14、LL );if(!OK)return;/如果打开失败f.Read(&FileHead,sizeof(FileHead);/读取文件头f.Read(&InfoHead,sizeof(InfoHead);/读取信息头short x,y,z;/计算每行字节数z=(InfoHead.biWidth/4)*4+(InfoHead.biWidth%4=0?0:4);f.Seek(FileHead.bfOffBits,0);/移动文件指针,指向像素点存放的开始位置f.Read(lpImage,InfoHead.biHeight*z*3);/读取全部像素f.Close();/关闭文件 第14页,本讲稿共21页
15、(3)显示图像。调用下面的程序断可显示位图:CClientDC dc(this);/建立客户区绘图对象dc.SetStretchBltMode(COLORONCOLOR);/按可延伸的彩色影射模式绘图:StretchDIBits(dc.GetSafeHdc(),/得到绘图对象的句柄 0,0,640,480,/客户区中的矩形(左上角坐标,右下角坐标)0,0,InfoHead.biWidth,InfoHead.biHeight,/源图像中的矩形 lpImage,/存放位图点阵的内存区 (LPBITMAPINFO)&InfoHead,/存放信息头的内存区 DIB_RGB_COLORS,/按三基色格式
16、 SRCCOPY /将图像拷贝到显存);第15页,本讲稿共21页(3)从位图点阵中提取各像素的RGB分量,存放到C3数组中,进而计算YSC分量:double u,v,c;for(y=InfoHead.biHeight-1;y=0;y-)/逐行转换 memcpy(C3y,lpImage+(InfoHead.biHeight-1-y)*z*3,z*3);/存储到C3数组 for(x=0;xInfoHead.biWidth;x+)YSCyx.Y=C3yx.R*0.3+C3yx.G*0.59+C3yx.B*0.11;/计算灰度 u=(C3yx.B-YSCyx.Y)/(double)YSCyx.Y;/计算归一化蓝差分量 v=(C3yx.R-YSCyx.Y)/(double)YSCyx.Y;/计算归一化红差分量 c=atan2(v,u)*180/3.14;/计算色调,弧度转换为度 if(c220的显示为白色,灰度值=220的显示为黑色。第20页,本讲稿共21页(3)估计图像中含有的信息量(熵)熵是信息论中度量信息的紊乱程度的量。在图像分析中,熵表示图像中的像素灰度值的不一致程度。熵的定义:上式中,上式中,H为熵,为熵,p(i),i=0,1,L-1 为直方图,为直方图,L为灰度级。为灰度级。H=3.03H=6.04第21页,本讲稿共21页