多媒体信息处理技术报告样本.doc

上传人:桔**** 文档编号:552545977 上传时间:2022-08-22 格式:DOC 页数:8 大小:609KB
返回 下载 相关 举报
多媒体信息处理技术报告样本.doc_第1页
第1页 / 共8页
多媒体信息处理技术报告样本.doc_第2页
第2页 / 共8页
多媒体信息处理技术报告样本.doc_第3页
第3页 / 共8页
多媒体信息处理技术报告样本.doc_第4页
第4页 / 共8页
多媒体信息处理技术报告样本.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《多媒体信息处理技术报告样本.doc》由会员分享,可在线阅读,更多相关《多媒体信息处理技术报告样本.doc(8页珍藏版)》请在金锄头文库上搜索。

1、 . 1.BMP图像的结构与显示BMP文件是Windows操作系统所推荐和支持的图像文件格式,是一种将存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,所以称为位图(bitmap)文件,因其文件扩展名为BMP,故称为BMP文件格式,简称BMP文件。BMP图像文件被分成4个部分:位图文件头(Bitmap File Header)、位图信息头(Bitmap Info Header)、颜色表(Color Map)和位图数据(即图像数据,Data Bits或Data Body)。为了实现BMP图像的各种处理(如显示 ,平滑 ,锐化等),我们必须清楚BMP 图像文件的组成 ,下面将详细介绍一下BM

2、P 图像的文件格式。1.1 BMP图像的文件格式BMP图像文件由文件头、文件信息头、调色板和图像数据组成。(1)文件头 文件头是一个结构 ,长度为 14 个字节 ,各组成部分如下:WORD bfType / 2 个字节表示文件类型 ,其值为“BMDWORD bfSize / 4 个字节表示文件的大小。WORD bfReserved1 / 2 个字节保留 ,其值为 0。WORD bfReserved1 / 2 个字节保留 ,其值为 0。DWORD bfOffBits / 4 个字节表示第一个像素的偏移量由文件头可以获得该文件型、小与第一个像素的偏移地址。(2)文件信息头文件信息头也是一个结构体,

3、长度为40个字节,各组成部分如下:DWORLD biSize / 4个字节存放文件信息头的长度,其值为40。LONG biWidth / 4个字节存放位图的宽度。LONG biHeight / 4个字节存放位图的高度。WORD biplanes / 2个字节存放平面的数目,其值为1。WORD biBitcount /两个字节存放每个像素所占的位数,其值可以是1,4,8,24等。DWORD biCompression / 4个字节指定位图是否压缩,其值可以是常值BI_RGB,BI_RLE8,BI_RLE4等。如果没有压缩则为BI_RGB(即0)。DWORD biSizeImage / 4个字节表

4、示位图的实际大小。LONG biXPelsPerMeter / 4个字节指定目标设备的水平分辨率,通常不用将其设为0。LONG biYPelsPerMeter / 4个字节指定目标设备的垂直分辨率,通常不用将其设为0。DWORD biClrUsed / 4个字节指定图像实际用到的颜色数,若使用所有颜色则值为0。DWORD biClrImportant / 4个字节指定图像中重要的颜色数,若全部重要则值为0。由文件信息头可以获得有关位图的详细信息,位图的实际大小并不等于biWidth和biHeight的乘积。因为在保存位图时要求每一行的字数必须是4的整数倍,如果不是,则需要补齐。(3) 颜色表颜

5、色表实际上是一个RGBQUAD结构的数组,数组的长度由biClrUsed指定(如果该值为零,则由biBitCount指定,即2的biBitCount次幂个元素)。RGBQUAD结构是一个结构体类型,占4个字节,其定义如下:BYTE rgbRed /红色分量BYTE rgbGreen /绿色分量BYTE rgbBlue /蓝色分量BYTE rgbReserved /保留位有些位图需要颜色表;有些位图(如真彩色图)则不需要颜色表,颜色表的长度由BITMAPINFOHEADER结构中biBitCount分量决定。对于biBitCount值为1的二值图像,每像素占1bit,图像中只有两种(如黑白)颜色

6、,颜色表也就有21=2个表项,整个颜色表的大小为2*sizeof(RGBQUAD)=2*4=8个字节;对于biBitCount值为8的灰度图像,每像素占8bit,图像中有28=256种颜色,颜色表也就有256个表项,且每个表项的R、G、B分量相等,整个颜色表的大小为256*sizeof(RGBQUAD)=256*4=1024个字节;而对于biBitCount=24的真彩色图像,由于每像素3个字节中分别代表了R、G、B三分量的值,此时不需要颜色表,因此真彩色图的BITMAPINFOHEADER结构后面直接就是位图数据。(4)位图数据 紧跟在颜色表之后的是图像数据字节阵列,即图像数据,记录了图像的

7、每一个像素值。对于有颜色表的位图,位图数据就是该像素颜色在调色板中的索引值;对于真彩色图,位图数据就是实际的R、G、B值(三个分量的存储顺序是B、G、R)。相应地,对于2色图象,用1位表示颜色,因此一个字节表示8个像素;对于16色图象,用4位表示一个像素的颜色,一个字节表示2个像素;对于256色图象,用8位表示一个像素的颜色,一个字节只表示1个像素。图像的每一扫描行由表示图像的像素的连素字节组成,每一行的字节数取决于图像的颜色数目和用像素表示的图像宽度。扫描行是由底向上存储的,这就是说,阵列中的每一个字节表示位图左下角的像素,而最后一个字节表示位图右上角的像素。1.2 BMP图象文件显示在VC

8、+的的应用程序中显示图像 ,通常有两种方法。一种方法是在应用程序中加入固定的位图,为该图指定ID,使用静态图片控件或ActiveX控件来显示图象。另一种方法是使用位图类Cbitmap,利用LoadImage函数动态地从系统盘的文件中载入位图图像 ,将载入的图像句柄和Cbitmap类相关连。使用BitBlt函数把位图拷贝到能够显示图像的设备场境中。设备场境中包含有关于系统、应用程序和绘图窗口的信息。我们还可以使用 StretchBlt 函数拷贝图像 ,并调整图像的大小 ,使之适合在特定的设备场境中显示。各函数的用法如下所示:HBITMAP hbitmap;/*加载BMP文件,filename为B

9、MP文件名*/Hbitmap=(HBITMAP):LoadImage(AfxGetInstanceHandle(),filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);/*Bitmap为Cbitmap类的一个对象,实现图象句柄和类相关连*/Bitmap.Attach(hbitmap);/*拷贝位图到屏幕*/BitBlt(10,10,width,height,&dc,0,0,SRCCOPY);/*拷贝图象并调整显示大小*/StrwtchBlt(10,10,Rwidth,Rheight,&dc,width,height,SR

10、CCOPY);实际上,由BMP图象文件格式可以很方便地从文件中读出各部分信息,在获得调色板和图象数据后,利用SetDIBitsToDevice函数或StrechDIBits函数来显示图象或打印图象。2颜色表的修改2.1 RGB模型RGB模式是基于自然界中3种基色光的混合原理,将R、G、B三种基色按照从0(黑)到255(白色)的亮度值在每个色阶中分配,从而指定其色彩,当不同亮度的基色混合后共产生=16777216种颜色。在理想条件下,加色原理R+G=Y,R+B=M,G+B=C。当3种基色的亮度值相等时,产生灰色,当3种亮度值都是255时,产生纯白色;而当所有亮度值都是0时,产生纯黑色。当3种色光

11、混合生成的颜色一般比原来的颜色亮度值高,所以RGB模式产生颜色的方法又被称为加色混合。2.2 颜色表的修改一幅图像有众多的事物,为了按照人们的意愿,传达某种信息,突出自己最想表达的信息,可以用色彩来完成!那么,在我们的图像中如何完成这样的任务呢?256色的BMP格式的图像是有颜色表的。颜色表分R,G,B三种基色。首先,我们应该把颜色表找到并提取出来。根据BMP图像数据存储的特点,我们很容易找到颜色表。找到颜色表之后,按照我们的需要,我们所想表达突出的色彩就可以通过修改颜色表的R,G,B三基色的值来完成。将三基色提取出来,并恰当的更改三基色在0到255间的值的大小,使得某种颜色变得突出,以来表达

12、我们想要突出的色彩!例如我们想使花变的更红一些,我们就可以适当的增加R基色在0到255间的值,减小G,B两种基色的大小,也就是改变G、B基色在0到255间的值,那么红色的像素点就会增加红的级数,这样就会使图像的红色更加突出。同理,适当增加G基色在0到255间的值,减小R,B两种基色在0到255间的值,绿色的像素点也就相应的增加了级数,那么就可以使图像的绿色更加突出。例如在一幅春天草地的图像中,增加G基色的级数,就可以使小草显得生机勃勃,以表达春意盎然的景象和情感,完成我们的表达重点了!我们更改了256色的BMP格式的颜色表,让原有的图像的某种颜色更加突出,来实现我们所需要的色彩的突出。我们更改

13、某种基色,或者更改几种基色,即重新给某种基色在0到255间赋值,使得图像的像素都随之适当变化,达到我们所需的效果。3实验结果与分析以512*512的256色图像进行结果的验证分析。程序运行结果图如下:图1 原图图2 原图的颜色表图4 蓝色突出效果图3修改颜色表对话框图5蓝色效果颜色表图1为程序运行打开的原图,图2为程序运行获得的颜色表。图3 为修改颜色表的对话框,这次修改颜色表目的是突出蓝色效果,变化后的结果为图4。图5为修改颜色表突出蓝色效果后,获得的颜色表,在这幅颜色表截图中可以很明显的看到颜色表中蓝色的颜色条增加了许多。同理可获得绿色和红色的突出效果。如图6,图7,图8,图9所示。图7

14、绿色效果颜色表图6 绿色突出效果图9 红色效果颜色表图8 红色突出效果4.总结本文讨论了基于VC+6.0集成开发环境,打开一幅256色BMP图像,通过修改其颜色表获得相应的颜色突出效果。本文对BMP图像的结构特点和显示做了简单的介绍,着重于颜色表的修改。本次的实现,方法总体来说是比较快速和灵活的。能很快的完成想要的色彩突出效果,最终的结果也是令人比较满意的。能够完整的保持图像的形态,只要简单的改变R、G、B三基色0到255间的值,就能得到色彩突出效果,从实验结果来看,基本上完成了本次作业的任务要求。通过本次实验,使我对BMP图像的结构有了更深刻的了解,并且学会了如何针对BMP图像进行一些相关的数字图像的分析和处理,以达到我们处理数字图像的最终目的,为以后的学习研究打下了坚实的基础。 /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号