




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字图像处理课程实验,共8学时使用平台:vc6.0,三个实验:,VC图像编程基础了解位图格式掌握CDIB类的使用学会新建工程学会添加菜单项和响应函数掌握位图的打开和显示一个简单的图像处理工程实例功能函数的编程实现掌握图像的点运算编程了解二值化和底片化的原理图像的空间域平滑和锐化掌握空间域平滑锐化的基本原理编写实现空间域平滑锐化功能的代码,一、VC图像处理基础,重点:位图的读取和显示难点:VC开发环境、类的使用必备知识:熟悉VC基本环境(如会建立一个工程、会使用一个现成的类),主要内容,Bmp位图图像格式CDIB类的介绍Vc的基本知识建立一个新工程利用CDIB类打开、显示图像,位图图像格式,BMP文件由文件头、位图信息头、颜色信息和图像数据四部分组成。,位图图像格式文件头,BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:typedefstructtagBITMAPFILEHEADERWORDbfType;/位图文件的类型,必须为BMDWORDbfSize;/位图文件的大小,以字节为单位WORDbfReserved1;/位图文件保留字,必须为0WORDbfReserved2;/位图文件保留字,必须为0DWORDbfOffBits;/位图数据的起始位置,以相对于位图/文件头的偏移量表示,以字节为单位BITMAPFILEHEADER;,位图图像格式位图信息头,BMP位图信息头数据用于说明位图的尺寸等信息。typedefstructtagBITMAPINFOHEADERDWORDbiSize;/本结构所占用字节数LONGbiWidth;/位图的宽度,以像素为单位LONGbiHeight;/位图的高度,以像素为单位WORDbiPlanes;/目标设备的级别,必须为1WORDbiBitCount/每个像素所需的位数,必须是1(双色),/4(16色),8(256色)或24(真彩色)之一DWORDbiCompression;/位图压缩类型,必须是0(不压缩),/1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一DWORDbiSizeImage;/位图的大小,以字节为单位LONGbiXPelsPerMeter;/位图水平分辨率,每米像素数LONGbiYPelsPerMeter;/位图垂直分辨率,每米像素数DWORDbiClrUsed;/位图实际使用的颜色表中的颜色数DWORDbiClrImportant;/位图显示过程中重要的颜色数BITMAPINFOHEADER;,位图图像格式颜色信息表,颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:typedefstructtagRGBQUADBYTErgbBlue;/蓝色的亮度(值范围为0-255)BYTErgbGreen;/绿色的亮度(值范围为0-255)BYTErgbRed;/红色的亮度(值范围为0-255)BYTErgbReserved;/保留,必须为0RGBQUAD;,位图图像格式颜色信息表,颜色表中RGBQUAD结构数据的个数有biBitCount来确定:biBitCount=1,4,8时,分别有2,16,256个表项;当biBitCount=16,24,32时,没有颜色表项。位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:typedefstructtagBITMAPINFOBITMAPINFOHEADERbmiHeader;/位图信息头RGBQUADbmiColors1;/颜色表BITMAPINFO;,位图图像格式象素数据,位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字节;当biBitCount=8时,1个像素占1个字节;当biBitCount=16时,1个像素占2个字节(RGB555格式);当biBitCount=24时,1个像素占3个字节(BGR格式);当biBitCount=32时,1个像素占4个字节(BGR-格式,-表示不处理的字节),位图图像格式象素数据,Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,一个扫描行所占的字节数计算方法:DataSizePerLine=(biWidth*biBitCount+31)/8;/一个扫描行所占的字节数DataSizePerLine=DataSizePerLine/4*4;/字节数必须是4的倍数位图数据的大小(不压缩情况下):DataSize=DataSizePerLine*biHeight;,CDIB类介绍,该类将位图文件的读取、象素数据的获取及显示进行了封装。具体的代码见附带的电子参考资料。下面介绍具体的成员和方法:,CDIB类介绍,1、boolCDIB:LoadFromFile(LPCTSTRlpszFileName)功能:用于加载位图。参数:lpszFileName表示加载的位图路径和名称。如:d:test123.bmp返回值:成功读取后,返回true,否则为false注意:但调用该函数成功加载位图后,CDIB类的成员变量m_bLoaded将变为true,否则为false,因此,可以通过m_bLoaded来进行判断是否加载了位图。,CDIB类介绍,2、intGetDIBWidth()功能:获取位图的宽度返回值:位图的宽度注意:该函数只有在加载位图后才能调用,否则会出错(可通过m_bLoaded来判断)。3、intGetDIBHeight()功能:获取位图的高度返回值:位图的高度注意:该函数只有在加载位图后才能调用,否则会出错(可通过m_bLoaded来判断)。,CDIB类介绍,4、voidCDIB:ShowDIB(CDC*pDC,intnLeft,intnTop,intnRight,intnBottom,BYTE*pDIBData,BITMAPINFO*pBMI)功能:显示位图参数:pDC/DC的句柄nLeft,/目标矩形左上角的X坐标nTop,/目标矩形左上角的Y坐标nRight,/目标矩形的宽度nBottom,/目标矩形的高度0,/源矩形左上角的X坐标0,/源矩形左上角的Y坐标GetDIBWidth(),/源矩形的宽度GetDIBHeight(),/源矩形的高度pDIBData,/位图图象数据的地址pBMI,/位图信息结构地址,CDIB类介绍,5、InvalidateData()功能:将m_pdata的信息赋值给m_pDIBData,便于显示m_pdata的信息。6、几个重要的成员变量BYTE*m_pdata;/位图的灰度信息boolm_bLoaded;/表示是否加载了位图BITMAPINFO*m_pBMI;/位图信息头BYTE*m_pDIBData;/位图象素数据指针BYTE*m_pDumpDIBData;/位图象素数据指针BITMAPFILEHEADERbfh;/位图信息头BITMAPINFOHEADERbih;/位图文件头,CDIB类介绍,m_pdata与m_pDIBData的关系,m_pdata,m_DIBData,8位图中两者的关系,CDIB类介绍,m_pdata,m_DIBData,24位图中两者的关系,m_pdata与m_pDIBData的关系,CDIB类介绍,注意:m_pdata与m_pDIBData的关系如果是8位图,m_pdata与m_pDIBData两个指针指向的数据块内容是相等的,即:m_pdatak=m_pDIBDatak如果是24位图,m_pdata与m_pDIBData两个指针指向的数据块内容是不相等的,m_pDIBData代表的是象素的RGB格式,而m_pdata表示的是象素的灰度信息。,m_pdata与m_pDIBData的关系,CDIB类介绍,当为24位图时,显示时采用m_pDIBData数据,为简单起见,我们可以仅仅对灰度信息进行处理,因为在灰度信息m_pdata数据中,一个象素对应于一个字节,而彩色信息m_pDIBData数据中,一个象素对于于三个字节。如果对m_pdata进行处理后,我们可以通过调用InvalidateData()函数来将m_pdata的数据赋值给m_pDIBData,从而显示处理结果。,CDIB类介绍实验中类的使用流程,调用LoadFromFil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研究生毕业论文结构
- 小儿急性肾炎护理常规
- 实践论与矛盾论
- 能源相关论文
- 员工能力提升培训
- 纤维支气管镜的临床应用与进展
- 永年招工作总结与未来计划
- 园长培训内容总结
- 语文:我们的心声
- 计划有效执行培训
- 项目驻地(营区)风险评估报告
- MOOC 犯罪心理学-中南财经政法大学 中国大学慕课答案
- 2021年4月自考00882学前教育心理学试题及答案含解析
- 24春国家开放大学《乡镇行政管理》作业1-5参考答案
- 脂肪栓塞的护理措施
- 2024年吉林省彩虹人才开发咨询服务公司招聘笔试参考题库含答案解析
- 安全生产半年工作总结汇报课件
- 公路路基施工技术规范 JTG∕T 3610-2019
- 2024新课标初中生物2022版课程标准考试题与答案
- 四川省成都市温江县2024届生物七下期末调研模拟试题含解析
- 空调维护保养人员组织架构及人员岗位职责
评论
0/150
提交评论