图像显示与处理实验报告

图像显示与处理实验报告

ID:35218340

大小:389.59 KB

页数:6页

时间:2019-03-22

图像显示与处理实验报告_第1页
图像显示与处理实验报告_第2页
图像显示与处理实验报告_第3页
图像显示与处理实验报告_第4页
图像显示与处理实验报告_第5页
资源描述:

《图像显示与处理实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、图像显示与处理实验报告班级:信息123班姓名:杨阳学号:2012270736图像显示与处理一、实验目的1、掌握BMP文件格式,熟悉各参数和图像数据的存放方式;2、通过编程实现对图像内容的读取(到内存中);3、完成图像的显示,掌握设备环境上下文(DC)的使用方式。4、对图像进行二值化、求边缘、增强等简单处理。二、实验仪器设备、工具及材料设备:多媒体计算机。软件:VisualStudio6.0及以上版本。材料:灰度图像,24位真彩色图像(均为非压缩BMP格式)等。三、实验内容及步骤1、BMP文件格式BMP是Bitmap(位图)的简写,是Windows操作系统中的标准图像文件格式。Win

2、dows3.0以前的BMP图文件格式与显示设备有关,称为设备相关位图DDB文件格式。Windows3.0以后的BMP图象文件与显示设备无关,因此称为设备无关位图DIB(device-independentbitmap)格式。BMP文件由4部分组成:位图文件头(BITMAPFILEHEADER)、位图信息头(BITMAPINFOHEADER)、彩色表(RGBQUAD)和图像数据阵列。对应的数据结构定义如下(来自MSDN)。typedefstructtagBITMAPFILEHEADER{WORDbfType;//filetype,mustbeBMDWORDbfSize;//size(

3、bytes)ofthebitmapfileWORDbfReserved1;WORDbfReserved2;DWORDbfOffBits;//offset(bytes)fromthisstructuretothebitmapbits}BITMAPFILEHEADER;typedefstructtagBITMAPINFO{BITMAPINFOHEADERbmiHeader;RGBQUADbmiColors[1];}BITMAPINFO,*PBITMAPINFO;typedefstructtagRGBQUAD{BYTErgbBlue;BYTErgbGreen;BYTErgbRed;BYT

4、ErgbReserved;}RGBQUAD;typedefstructtagBITMAPINFOHEADER{DWORDbiSize;//bytesrequiredbythestructureLONGbiWidth;LONGbiHeight;WORDbiPlanes;//numberofplanes,mustbe1WORDbiBitCount;//numberofbits-per-pixelDWORDbiCompression;//BI_RGB:uncompressedDWORDbiSizeImage;//size(bytes)ofimage,setto0forBI_RGBbitm

5、apsLONGbiXPelsPerMeter;//horizontalresolutionLONGbiYPelsPerMeter;//verticalresolutionDWORDbiClrUsed;DWORDbiClrImportant;6}BITMAPINFOHEADER;自然界所有颜色都可由红、绿、蓝(R,G,B)组合而成。R/G/B各自分成256级,这种分级概念称为量化,这样就能表示256×256×256约1600万种颜色,这对于人眼来说已经足够丰富了。对于颜色数远远少于1600万种的彩色图,可以用一个表:表中的每一行记录一种颜色的R、G、B值。这样当我们表示一个象素的颜色

6、时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。这张R、G、B的表,就是我们常说的调色板(Palette),另一种叫法是颜色查找表LUT(LookUpTable)。用R、G、B颜色表示所有的颜色叫做真彩色图(truecolor)。表示真彩色图时,每个象素直接用R、G、B三个分量字节表示,而不采用调色板技术。真彩色图又叫做24位色图。在Windows下,RGB颜色阵列存储的格式其实BGR。而32位的RGB位图像素数据格式是:蓝色B值、绿色G值、红色R值、透明通道A值。透明通道也称Alpha通道,该值是该像素点的透明属性,取值在0(全透明)到255(不透明)之间。2、BMP文件

7、加载加载文件的目的是要得到图片属性及RGB数据,以便将其绘制在DC上。首先,加载文件头:BITMAPFILEHEADERheader;file.read((char*)&header,sizeof(header));然后,加载位图信息头:BITMAPINFOHEADERinfoheader;file.read((char*)&infoheader,sizeof(infoheader));这里我们得到了3各重要的图形属性:宽,高,以及每个像素颜色所占用的位数。接着,要考

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。