图像显示与处理实验报告.docVIP

  • 15
  • 0
  • 约3.89千字
  • 约 6页
  • 2017-06-09 发布于北京
  • 举报
图像显示与处理实验报告 班级: 信息123班 姓名: 杨阳 学号: 201227073 图像显示与处理 一、实验目的 1、掌握BMP文件格式,熟悉各参数和图像数据的存放方式; 2、通过编程实现对图像内容的读取(到内存中); 3、完成图像的显示,掌握设备环境上下文(DC)的使用方式。 4、对图像进行二值化、求边缘、增强等简单处理。 二、实验仪器设备、工具及材料 设备:多媒体计算机。 软件:Visual Studio 6.0及以上版本。 材料:灰度图像,24位真彩色图像(均为非压缩BMP格式)等。 三、实验内容及步骤 1、BMP文件格式 BMP是Bitmap(位图)的简写,是Windows操作系统中的标准图像文件格式。Windows 3.0以前的BMP图文件格式与显示设备有关,称为设备相关位图DDB文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此称为设备无关位图DIB(device-independent bitmap)格式。 BMP文件由4部分组成:位图文件头(BITMAPFILEHEADER)、位图信息头(BITMAPINFOHEADER)、彩色表(RGBQUAD)和图像数据阵列。对应的数据结构定义如下(来自MSDN)。 typedef struct tagBITMAPFILEHEADER { WORD bfType; // file type, must be BM DWORD bfSize; // size (bytes) of the bitmap file WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; // offset (bytes) from this structure to the bitmap bits } BITMAPFILEHEADER; typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO, *PBITMAPINFO; typedef struct tagRGBQUAD { BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; } RGBQUAD; typedef struct tagBITMAPINFOHEADER { DWORD biSize; // bytes required by the structure LONG biWidth; LONG biHeight; WORD biPlanes; // number of planes, must be 1 WORD biBitCount; // number of bits-per-pixel DWORD biCompression; // BI_RGB: uncompressed DWORD biSizeImage; // size(bytes) of image, set to 0 for BI_RGB bitmaps LONG biXPelsPerMeter; // horizontal resolution LONG biYPelsPerMeter; // vertical resolution DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; 自然界所有颜色都可由红、绿、蓝(R,G,B)组合而成。R/G/B各自分成256级,这种分级概念称为量化,这样就能表示256×256×256约1600万种颜色,这对于人眼来说已经足够丰富了。对于颜色数远远少于1600万种的彩色图,可以用一个表:表中的每一行记录一种颜色的R、G、B值。这样当我们表示一个象素的颜色时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。这张R、G、B的表,就是我们常说的调色板(Palette),另一种叫法是颜色查找表LUT(Look Up Table)。 用R、G、B颜色表示所有的颜色叫做真彩色图(true color)。表示真彩色图时,每个象素直接用R、G、B三个分量字节表示,而不采用调色板技术。真彩色图又叫做24位色图。在Windows下,RGB颜色阵列存储的格式其实BGR。而32位的RGB位图像素数据格式是:蓝色B值、绿色G值、红色R值、透明通道A值。透明通道也称Al

文档评论(0)

1亿VIP精品文档

相关文档