当前位置:文档之家› BMP图二进制转换

BMP图二进制转换

BMP图二进制转换
BMP图二进制转换

C#下将BMP转换成二进制是比较容易的,方法如下:Code:

其实转换的结果是以8位二进制分割的十进制数(0~255),若是真要得到纯二进制,还需要进一步转换。我曾做过很多实验,目的是测试这些数字和图片本身之间的关系,虽然学习过多媒体技术,但是对于详细的bmp分解,并没有太多认识。当然,在实验前还要把“二进制”还原bmp的方法说明一下:

Code:

实验1:人为的变动bufPic数组中的前几个位置,得到的结果都是出错,没能正确的还原回bmp,仔细观察后在发现,几乎所有的bmp转换成的bufPIc的前几个位置都相同,所以得到一个猜测:bmp文件不是单一的由图片的像素组成,还有一些默认的统一的“约定”

实验2:在试验1的基础上挨个尝试,找到变更后能正确还原bmp的位置,由这个位置来确定所谓的“约定”的位数。得到的结论是42个。猜测就是:每个bmp文件都有54个默认的参数。

实验3:进一步验证参数的个数是否正确。更改54位以后的位置,看看结果对于图片的影响。测试结果如下:

用这个原图片,修改42位以后的若干位,结

果是

由此看来变动是相当大的,最明显的是由一个黑白图变为了彩色图,所以又有一个猜测:默认的参数不仅仅有54位,还包含一些控制调色板的位。

实验4: bufPIc中的每一个数字是否代表了bmp中每一个点的信息?答案当然是否定的,一个32*16的bmp中,有512个点,但bifPic中只有256个,还包括一些默认参数。只能将数字转换成2进制来考虑,这也符合计算机的设计原理。

通过很多测试,最后得出了一些结论,参考了相关的资料并询问了导师,现总结如下:

1. 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如下所示的形式。

位图文件结构可综合在表1中。

2 四个部分在位图图像数据中的相应位置,(位置偏移均以位图数据开始处为基准)

起始位置偏移<=各部分数据具体存放位置<结束位置偏移

第一部分,图像头:

起始位置偏移 0,

长度:0x0EH (2byte + 3 * dword = 14)

结束位置偏移:起始位置偏移+长度

第二部分,图像信息头:

起始位置偏移:上一部分结束位置偏移

长度:从 0x0EH 处读取到的 dword 的数据值

结束位置偏移:起始位置偏移+长度

第三部分,调色板:

起始位置偏移:上一部分结束位置偏移

长度:从 0x0AH 处读取到的 dword 的数据值-起始位置偏移

结束位置偏移:起始位置偏移+长度

第四部分,位图数据:

起始位置偏移:上一部分结束位置偏移

长度:从 0x22H 处读取到的 dword 的数据值

结束位置偏移:文件结束

3 单色位图图像数据的表示方法

在单色位图图像中,只有两种颜色,黑色或白色,每一个像素只需要一个比特就能够完成表示,为了清楚比特0或1具体表示哪一种颜色,可以通过查询调色板。

在单色位图图像中,调色板只包含两种颜色,每一种颜色用R G B 0 四个字节表示(在实际的字节流中,顺序是 B G R 0)

所以,位图图像数据中的0 代表调色板中第一种颜色的颜色值, 1 代表调色板中第二种颜色的颜色值。

4 C/C++中数据类型的长度

byte : 1个字节, 8位(比特)

word: 2个字节,由 unsigned short定义

dword:4 个字节,由 unsigned long定义

5 根据前面的位图文件结构表,可以通过自定义数据结构 struct的方式来读取相应的数据。

6 位图数据的存储方式:(自下而上,从左到右)

扫描行是由底向上存储的,这就是说,位图数据的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。

7 一行单色位图数据的存储格式规定:

每一扫描行的字节数必需是4的整倍数,当不够4的整数倍时,需要加0补齐

以 720 × 450 的单色位图图像为例

水平扫描行的长度为720,则需要720比特来表示一个扫描行,即需

要 720/8=90字节来表示,但是 90 不是 4 的整数倍,因此需要用0补齐,直至为4的整数倍,即需要额外的2个填充字节。最终,长度为720的水平扫描行使用了 92 个字节来表示。

例1:t1图为50×50的单色图,水平扫描行的长度为50,则需要50比特来表示一个扫描行,即需要50/8=7字节来表示,但是 7 不是 4 的整数倍,因此需要用0补齐,直至为4的整数倍,即需要额外的1个填充字节。最终,长度为50的水平扫描行使用了 8个字节来表示。共8×50=400个字节,再加上62个字节的头部,既为文件大小462个字节。

例2:t3图为40×40的单色图,水平扫描行的长度为40,则需要40比特来表示一个扫描行,即需要40/8=5字节来表示,但是 5 不是 4 的整数倍,因此需要用0补齐,直至为4的整数倍,即需要额外的3个填充字节。最终,长度为40的水平扫描行使用了 8个字节来表示。共8×40=320个字节,再加上62个字节的头部,既为文件大小382个字节。

例3:t5图为16×32的单色图,水平扫描行的长度为16,则需要16比特来表示一个扫描行,即需要16/8=2字节来表示,但是 2 不是 4 的整数倍,因此需要用0补齐,直至为4的整数倍,即需要额外的2个填充字节。最终,长度为16

的水平扫描行使用了 4个字节来表示。共4×32=128个字节,再加上62个字节的头部,既为文件大小190个字节。

因此水平像素应为4个字节(32个像素)的整数倍最好。空间利用率高,否则需要补零。

下面针对单色位图test.bmp,50*50分辨率介绍头部数据含义:

[0] 66 byte (66 = 42H 即字母 b)

[1] 77 byte (4dH 即字母 m)[0]、[1]是一整体,判断文件是否.bmp文件

[2] 206 byte

[3] 1 byte 1×256+206=462

[4] 0 byte

[5] 0 byte [2]-[5]是一整体,表示文件大小,以字节为单位

[6] 0 byte

[7] 0 byte

[8] 0 byte

[9] 0 byte [6]-[9]是一整体,始终为0。

[10] 62 byte

[11] 0 byte

[12] 0 byte

[13] 0 byte [10]-[13]是一整体,单色图为62,表示头部长度为62字节[0]-[61]。

以上为图像文件头部分,共14个字节[0]-[13]

[14] 40 byte

[15] 0 byte

[16] 0 byte

[17] 0 byte [14]-[17]是一整体,单色图为40(ox28h),

表示图像信息头部

长度为40字节[14]-[53]

[18] 50 byte (分辨率)

[19] 0 byte

[20] 0 byte

[21] 0 byte [18]-[21]是一整体,表示位图的宽度,以象素为单位

[22] 50 byte (分辨率)

[23] 0 byte

[24] 0 byte

[25] 0 byte [22]-[25]是一整体,表示位图的高度,以象素为单位

[26] 1 byte

[27] 0 byte [26]-[27]是一整体,位图的位面数(注:该值将总是1)

[28] 1 byte

[29] 0 byte [28]-[29]是一整体,每个象素的位数。1 - 单色位图

[30] 0 byte

[31] 0 byte

[32] 0 byte

[33] 0 byte [30]-[33]是一整体,压缩说明:0 - 不压缩。

[34] 0 byte

[35] 0 byte

[36] 0 byte

[37] 0 byte [34]-[37]是一整体,用字节数表示的位图数据的大小。该数必须

是4的倍数,多设置为0,见7的例子。

[38] 116 byte

[39] 18 byte

[40] 0 byte

[41] 0 byte [38]-[41]是一整体,用象素/米表示的水平分辨率,打印时用。

值除100,变为象素/厘米。(18×256+116)÷100=47象素/厘米

[42] 116 byte

[43] 18 byte

[44] 0 byte

[45] 0 byte [42]-[45]是一整体,用象素/米表示的垂直分辨率,打印时用,

值需除100,变为象素/厘米。

[46] 2 byte

[47] 0 byte

[48] 0 byte

[49] 0 byte [46]-[49]是一整体,位图使用的颜色数。单色图为2。

[50] 2 byte

[51] 0 byte

[52] 0 byte

[53] 0 byte [50]-[53]是一整体,指定重要的颜色数。当该域的值等于颜色数时

(或者等于0时),表示所有颜色都一样重要

以上为图像信息头部分,共14个字节[14]-[53]

[54] 0 byte

[55] 0 byte

[56] 0 byte

[57] 255 byte [54]-[57]是一整体,第一种颜色:(0,0,0)黑色。

[58] 255 byte

[59] 255 byte

[60] 255 byte

[61] 255 byte [58]-[61]是一整体,第二种颜色:(255,255,255)白色。

以上为调色板部分,共N × 4 byte=2×4=8个字节,

[54]-[61](单色图N=2)。

调色板规范。对于调色板中的每个表项,这4个字节用下述方法来

描述RGB的值: 1字节用于蓝色分量, 1字节用于绿色分量,

1字节用于红色分量,1字节用于填充符(设置为1)。

以上为头部数据(控制数据),头部长度为62字节[0]-[61]

以下为真正的图像数据,以8个字节为一水平扫描行。

1个填充字节+ 7个数据字节=8个字节。

最后要说的是:bmp扫描是有底向上存储,即第一个字节表示bmp左下角的像素。

2011-01-25 13:06 112人阅读评论(0) 收藏举报bmp转二进制:

Co de:

二进制还原bmp Code:

二进制 各种转化

C语言中二进制十进制十六进制各是什么意思? 学按位要用到这些知识但又不懂! 匿名| 浏览1240 次问题未开放回答 推荐于2016-05-22 01:54:54 最佳答案 计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 以下简介各种进制之间的转换方法:

一、二进制转换十进制 例:二进制“1101100” 1101100 ←二进制数 6543210 ←排位方法 例如二进制换算十进制的算法: 1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20 ↑↑ 说明:2代表进制,后面的数是次方(从右往左数,以0开始) =64+32+0+8+4+0+0 =108 二、二进制换算八进制 例:二进制的“10110111011” 换八进制时,从右到左,三位一组,不够补0,即成了: 010 110 111 011 然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:010 = 2 110 = 4+2 = 6 111 = 4+2+1 = 7 011 = 2+1 = 3 结果为:2673

三、二进制转换十六进制 十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:0101 1011 1011 运算为: 0101 = 4+1 = 5 1011 = 8+2+1 = 11(由于10为A,所以11即B) 1011 = 8+2+1 = 11(由于10为A,所以11即B) 结果为:5BB 四、二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 计算:0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 五、八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 计算:7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

bmp文件格式详解

b m p文件格式详解 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

BMP文件格式,又称为Bitmap(位图)或是DIB(Device-IndependentDevice,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphicaluserinterfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。 下面以Notepad++为分析工具,结合Windows的位图数据结构对BMP文件格式进行一个深度的剖析。 BMP文件的数据按照从文件头开始的先后顺序分为四个部分: bmp文件头(bmpfileheader):提供文件的格式、大小等信息 位图信息头(bitmapinformation):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息 调色板(colorpalette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表 位图数据(bitmapdata):就是图像数据啦^_^ 下面结合Windows结构体的定义,通过一个表来分析这四个部分。 我们一般见到的图像以24位图像为主,即R、G、B三种颜色各用8 个bit来表示,这样的图像我们称为真彩色,这种情况下是不需要调色 板的,也就是所位图信息头后面紧跟的就是位图数据了。因此,我们 常常见到有这样一种说法:位图文件从文件头开始偏移54个字节就是

位图数据了,这其实说的是24或32位图的情况。这也就解释了我们 按照这种程序写出来的程序为什么对某些位图文件没用了。 下面针对一幅特定的图像进行分析,来看看在位图文件中这四个数据 段的排布以及组成。 我们使用的图像显示如下: 这是一幅16位的位图文件,因此它是含有调色板的。 在拉出图像数据进行分析之前,我们首先进行几个约定: 1.在BMP文件中,如果一个数据需要用几个字节来表示的话,那么该数据的存放字节顺序为“低地址村存放低位数据,高地址存放高位数据”。如数据 0x1756在内存中的存储顺序为: 这种存储方式称为小端方式(littleendian),与之相反的是大端方式(bigendian)。对两者的使用情况有兴趣的可以深究一下,其中还是有学问的。 2.以下所有分析均以字节为序号单位进行。 下面我们对从文件中拉出来的数据进行剖析: 一、bmp文件头 Windows为bmp文件头定义了如下结构体: typedef struct tagBITMAPFILEHEADER {?

二进制十进制八进制十六进制转换练习题

数制及相互转换 一、单选题 1、下列数据中数值最小的是 A、01110000B B、249D C、125Q D、AAH 2、下列数据中数值最大的是 A、3FH B、64D C、77Q D、111110B 3、下列数据中数值最大的是 A、100H B、100D C、100Q D、100B 4、十进制数24转换成二进制数是 A、11100 B、11010 C、11000 D、10100 5、下列数据中数值最小的是 A、11110000(二进制) B、249(十进制) C、274(八进制) D、FA(十六进制) 6、下列数据中数值最大的是 A、11101101(二进制) B、235(十进制) C、351(八进制) D、EE(十六进制) 7、下列各数中最大的是 A、11010110B B、D7 H C、214D D、325Q 8、与二进制数100101等值的十进制数是 A、34 B、35 C、36 D、37 9、与十进制数256等值的二进制数是 A、1000000 B、10000000 C、100000000 D、1000000000 10、与十六进制数ACE等值的十进制数是 A、2766 B、2765 C、2764 D、2763 11、十六进制数111与八进制数111之和,用八进制数表示为 A、310 B、1222 C、1000 D、532 12、按某种进制运算2 × 4=12,那么4 × 5为 A、20 B、32 C、24 D、12 13、若216是某种数制的一个数,它的值与十六进制数8E相等,则该数是()进制数。 A、六 B、八 C、九 D、十 14、下列各数中,属于合法的五进制数的是 A、216 B、123 C、354 D、189 15、下列无符号十进制中,能用8位二进制表示的是 A、257 B、288 C、256 D、255 16、无符号二进制数后加上一个0,形成的数是原来的几倍? A、1 B、2 C、1/2 D、4 17、下列数据中数值最大的是 A、(10000)2 B、(17)8 C、(17)10 D、(10)16 18、某学校有1500名学生,若用二进制来编学号,需要多少位来表示。 A、10 B、11 C、12 D、13

二进制与十进制的换算方法

二进制与十进制的换算方法 浏览次数:168726次悬赏分:0 |解决时间:2007-5-12 17:23 |提问者:白兔豆豆 二进制与十进制的换算方法,既要二换十,也要十换二的,要简单点的方法 十六进制的最好也说一下 谢谢 最佳答案 6.1 为什么需要八进制和十六进制? 编程中,我们常用的还是10进制……必竟C/C++是高级语言。 比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。 用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?

2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 6.2 二、八、十六进制数转换到十进制数 6.2.1 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位0 * 20 = 0 第1位0 * 21 = 0 第2位1 * 22 = 4 第3位0 * 23 = 0 第4位0 * 24 = 0 第5位1 * 25 = 32 第6位1 * 26 = 64 第7位0 * 27 = 0 + --------------------------- 100

BMP格式结构详解

位图文件(B it m a p-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(d evice-d ependent b itmap,DDB)文件格式。Windows 3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(d evice-i ndependent b itmap,DIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者bmp。 6.1.2 文件结构 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它们的名称和符号如表6-01所示。 表6-01 BMP图像文件组成部分的名称和符号 位图文件的组成结构名称符号 位图文件头(bitmap-file header)BITMAPFILEHEADE R bmfh 位图信息头(bitmap-information header)BITMAPINFOHEADE R bmih 彩色表(color table)RGBQUAD aColors[] 图像数据阵列字节BYTE aBitmapBits[ ] 位图文件结构可综合在表6-02中。 表6-02 位图文件结构内容摘要 偏移量域的名称大小内容 图像文件头0000h标识符 (Identifie r) 2 bytes两字节的内容用来识别位图的类型: ‘BM’ : Windows 3.1x, 95, NT, linux ‘BA’ :OS/2 Bitmap Array ‘CI’ :OS/2 Color Icon ‘CP’ :OS/2 Color Pointer ‘IC’ : OS/2 Icon ‘PT’ :OS/2 Pointer 0002h File Size 1 dword用字节表示的整个文件的大小 0006h Reserved 1 dword保留,设置为0 000Ah Bitmap Data Offset 1 dword从文件开始到位图数据开始之间的数据(bitmap data)之间的偏移量 000Eh Bitmap Header Size 1 dword位图信息头(Bitmap Info Header)的长度,用来 描述位图的颜色、压缩方法等。下面的长度表示: 28h - Windows 3.1x, 95, NT, … 0Ch - OS/2 1.x F0h - OS/2 2.x 0012h Width 1 dword位图的宽度,以像素为单位 0016h Height 1 dword位图的高度,以像素为单位 001Ah Planes 1 word位图的位面数 图像001Ch Bits Per Pixel 1 word每个像素的位数 1 - Monochrome bitmap

二进制与十进制的转换(教案)

二进制与十进制的转换教案 【教学目的与要求】 1、熟悉数制的概念; 2、掌握位权表示法; 3、熟练掌握二进制与十进制之间的转换方法。 【课时安排】1课时。 【教学重点与难点】 1、难点:位权表示法十进制转化为二进制 2、重点:二、十进制间相互转换 【教学过程】(以下教师的语言、活动简称“师”,学生的活动简称“生”) (一)新课导入 生:加减乘除 师:对,我们最开始学习的就是十以内的加法,之后是两位数的加法,在两位数加法的学习中,老师是不是经常会说,要注意逢十进一?也就是我们平常说的别忘了进位。 (PPT展示)像这样按进位的原则进行记数的方法叫做进位记数制。“进位记数制”简称为“数制”或“进制”。我们平时用的最多的就是十进制了 那么,大家再想一下,还有没有其他的进制呢?比如:小时、分钟、秒之间是怎么换算的?生:1小时=60分钟1分钟=60秒 师:那我们平时会不会说我做这件事用了90分钟呢?不是吧,我们一般会说,用了一个半小时,也就是说:逢60进一,这就是60进制。 (PPT展示)由此可以推断出:每一种数制的进位都遵循一个规则,那就是——逢N进1。这里的N叫做基数。所谓“基数”就是数制中表示数值所需要的数字字符的总数,比如,十进制中用0——9来表示数值,一共有10个不同的字符,那么,10就是十进制的基数,表示逢十进一。 师:下面我们再引入一个新概念——“位权”,什么是位权呢?(PPT展示)大家看一一这个十进制数:1111.111,这7个1是不是完全一样的呢?有什么不同呢?第一个1表示1000,第二个1表示100,……

那么,这个“若干次”是多少呢?有没有什么规定呢?大家观察一下这个例子,以小数点为界,整数部分自右向左,依次是基数的0次、1次、2次、3次幂。小数部分,自左向右,分别是基数的-1次、-2次、-3次幂。 大家再看一下:2856.42这个十进制数,它的值是怎么算出来的呢? 这就叫做按权相加法。也就是让每一位上的数字字符乘以它所代表的权。那么,这种方法有什么用呢?这就是本节课的重点内容。 (二)数制转换 大家都知道,计算机运算时采用的是二进制,但人们在使用计算机解决实际问题时通常使用十进制,这就有一个十进制向二进制转换或由二进制向十进制转换的过程。 也就是说,在使用计算机进行数据处理时首先必须把输入的十进制数转换成计算机所能接受的二进制数;计算机在运行结束后,再把二进制数转换为人们所习惯的十进制数输出。这种将数由一种数制转换成另一种数制称为数制间的转换。 二进制的特点:只有二个不同的数字符号:0和1;逢二进1 1)二进制转十进制

数制转换练习-答案

数制练习 填空 1. 两个8位二进制数和01001011进行逻辑加的结果为。 2. 十六进制数对应的十进制数字是。 3. 已知一个带符号整数的补码由两个1和六个0组成,则该补码能够表示的最小整数是 -127 。 4. 二进制数和进行逻辑“与”运算,结果再与进行逻辑“或”运算,最终结果的十六进制形式为()。 5.Pentium处理器中的一个16位带符号整数,如果它的十六进制表示为FEDCH,那么它的十进制值为( -292)。 5. 对两个逻辑值1施行逻辑加操作的结果是 1 。 6. .若A=1100,B=0010,A与B运算的结果是1110,则其运算可以是算术加,也可以是逻 辑加 判断 1.每个十进制整数都可以精确的转换为二进制整数形式。N 2. 一个整数的补码就是其原码除符号位外取反加1。Y 单选 1. 下面关于计算机中定点数与浮点数的一些叙述 , 正确的是____B______ A. 定点数只能表示纯小数 B. 浮点数尾数越长 , 数的精度就越高 C. 定点数的数值范围一定比浮点数的数值范围大 D. 定点数就是用十进制表示的数 2. 下列有关 " 权值 " 表述正确的是____B______ A. 权值是指某一数字符号在数的不同位置所表示的值的大小 B. 二进制的权值是 " 二 ", 十进制的权值是 " 十 " C. 权值就是一个数的数值 D. 只有正数才有权值 3. 下列有关 " 基数 " 表述正确的是____B______ A. 基数是指某一数字符号在数的不同位置所表示的值的大小 B. 二进制的基数是 " 二”,十进制的基数是 " 十 " C. 基数就是一个数的数值 D. 只有正数才有基数 4. 十进制数 "13", 用三进制表示为____C______ B.110 5. 下列各数都是五进制数 , 其中____B______对应的十进制数是偶数。 B. 101 6. 一个某进制的数"lAl”,其对应十进制数的值为 300, 则该数为 C A. 十一进制 B.十二进制 C. 十三进制 D. 十四进制

十进制和二进制相互转化程序的设计书

十进制和二进制相互转化 程序设计书 需求分析 随着技术的不断提高,进制转换向着简单化,规模化发展,而对于只能识别二进制0和1码的计算机来说,如何翻译成人类可以认识和编译的语言,和安全加密等给信息管理有关的信息随之增加。在这种情况下单靠人工来处理这些信息不但显得大不从心,而且极容易出错。因此,需要开发二进制与十进制互换系统,该系统可以实现由计算机代替人工执行一系列复杂而繁琐的操作,使得办公人员可以轻松快捷的完成进制转换的任务。 总结系统需求分为大体分为5个模块: 首先第一个需要数据的信息输入,即输入数据的基本信息包括输入的进制选项,所输入的二进制位数,所输入的二进制数,所输入的十进制数和判断是否全1或全0五个模块。 第二个需求是判断数据进制选项信息,在信息和科技不断进步的今天,数据及时准确的更新成了任何一个系统的首要任务,本系统应时代所需设计了数制信息功能,包括对包括数据的进制,二进制数据的位数,十进制数据,进行进制转换计算。 第三个需求是所输入的二进制数据,数据的运行使用主要是解决向十进制转换 第四个需求是所输入的十进制数据,数据运行使用主要是解决向二进制转换。 第五个需求是打印退出,在对系统进行操作后,退出系统。

1.1 数据需求分析 本系统的主要数据进制转换的实现。转换包括:二进制数向十进制数转换,十进制数向二进制数转换,判断是否为全0或全1,是否继续执行等。 1.2功能需求分析 本程序功能为二进制和十进制的相互转换,二进制转十进制主要根据进制转换的根本方法,分别乘以2的次方得到十进制数;十进制转二进制主要根据“除2取余法”得到二进制数。另外,本程序简单易懂,操作简便,给出引导说明,以及还出错处理,只需按照提示输入即可用。 本系统主要实现对二进制与十进制之间互换,需要实现以下几个方面的功能: (1)二进制转十进制:选择二进制向十进制转换,选择二进制位数,输入二进制数,进行数制转换,输出结果,判断是否继续。 (2)十进制转二进制:选择十进制向二进制转换,输入十进制数,进行数制转换,输出结果,判断是否继续。 2系统总体设计 2.1系统模块划分 本系统主要是对二进制与十进制互换的管理,包括了二进制转十进制、十进

BMP图像格式详解

BMP格式图像文件详析 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ...... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP 格式。

2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强

BMP头文件格式

bmp头文件格式 1:BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。2:BMP文件头(14字节) BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORDbf Type; // 位图文件的类型,必须为BMP(0-1字节) DWORD bfSize; // 位图文件的大小,以字节为单位(2-5字节) WORD bfReserved1; // 位图文件保留字,必须为0(6-7字节) WORD bfReserved2; // 位图文件保留字,必须为0(8-9字节) DWORD bfOffBits; // 位图数据的起始位置,以相对于位图(10-13字节) // 文件头的偏移量表示,以字节为单位 } BITMAPFILEHEADER; 3:位图信息头(40字节) BMP位图信息头数据用于说明位图的尺寸等信息。 typedef struct tagBITMAPINFOHEADER{ DWORD biSize; // 本结构所占用字节数(14-17字节) LONG biWidth; // 位图的宽度,以像素为单位(18-21字节)

LONG biHeight; // 位图的高度,以像素为单位(22-25字节) WORD biPlanes; // 目标设备的级别,必须为1(26-27字节) WORD biBitCount;// 每个像素所需的位数,必须是1(双色),(28-29字节) // 4(16色),8(256色)或24(真彩色)之一 DWORD biCompression; // 位图压缩类型,必须是0(不压缩),(30-33字节) // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; // 位图的大小,以字节为单位(34-37字节) LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数(38-41字节) LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数(42-45字节) DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数(46-49字节) DWORD biClrImportant;// 位图显示过程中重要的颜色数(50-53字节) } BITMAPINFOHEADER; 4:颜色表 颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下: typedef struct tagRGBQUAD {

二进制十进制八进制十六进制转换练习题

数制及相互转换 进制表示形式R代表任意进制 二进制 B R→十:按权展开求和二→八:三位变一位 八进制O (Q) 十→R:除R 取余倒排二→十六:四位变一位 十进制 D 八→二:一位变三位 十六进制H 十六→二:一位变四位 一、单选题 1、下列数据中数值最小的是 A、01110000B B、249D C、125Q D、AAH 2、下列数据中数值最大的是 A、3FH B、64D C、77Q D、111110B 3、下列数据中数值最大的是 A、100H B、100D C、100Q D、100B 4、十进制数24 转换成二进制数是 A、11100 B、11010 C、11000 D、10100 5、下列数据中数值最小的是 A、11110000(二进制) B、249(十进制) C、274(八进制) D、FA(十六进制) 6、下列数据中数值最大的是 A、11101101(二进制) B、235(十进制) C、351(八进制) D、EE(十六进制) 7、下列各数中最大的是 A、11010110B B、D7 H C、214D D、325Q 8、与二进制数100101 等值的十进制数是 A、34 B、35 C、36 D、37 9、与十进制数256 等值的二进制数是 A、1000000 B、10000000 C、100000000 D、1000000000 10、与十六进制数ACE等值的十进制数是 A、2766 B、2765 C、2764 D、2763 11、十六进制数111 与八进制数111 之和,用八进制数表示为 A、310 B、1222 C、1000 D、532 12、按某种进制运算 2 ×4=1,2那么 4 ×为5 A、20 B、32 C、24 D、12 13、若216 是某种数制的一个数,它的值与十六进制数8E 相等,则该数是()进制数。 A、六 B、八 C、九 D、十 14、下列各数中,属于合法的五进制数的是 A、216 B、123 C、354 D、189 15、下列无符号十进制中,能用8 位二进制表示的是 A、257 B、288 C、256 D、255 16、无符号二进制数后加上一个0,形成的数是原来的几倍? A、 1 B、 2 C、1/2 D、4 17、下列数据中数值最大的是 A、(10000)2 B、(17)8 C、(17)10 D、(10)16 18、某学校有1500 名学生,若用二进制来编学号,需要多少位来表示。 A、10 B、11 C、12 D、13

BMP文件格式

BMP文件格式 简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Wi ndows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BM P图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBl t()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB 或.RLE作扩展名)。 此图用WinHex软件打开后结果如下:(在介绍完bmp文件格式后会具体分析这些数字,最后也有matlab对此图的分析)注:此图是24位真彩色图。 文件结构 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如下所示的形式。

位图文件结构可综合在表6-01中。表01 位图文件结构内容摘要

构件详解 1. 位图文件头 位图文件头包含有关于文件类型、文件大小、存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct tagBITMAPFILEHEADER { /* bmfh */ UINT bfType; DWORD bfSize; UINT bfReserved1; UINT bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 其中: bfType 说明文件的类型.(该值必需是0x4D42,也就是字符'BM'。我们不需要判断OS/2的位图标识,这么做现在来看似乎已经没有什么意义了,而且如果要支持OS/2的位图,程序将变得很繁琐。所以,在此只建议你检察'BM'标识) bfSize 说明文件的大小,用字节为单位bfReserved1 保留,必须设置为0

进制转换练习题_四川专升本

进制练习题 1、十进制数1000对应二进制数为______,对应十六进制数为______。 供选择的答案 A:① 10 ② 00 ③ 00 ④ 10 B:① 3C8 ② 3D8 ③ 3E8 ④ 3F8 2、十进制小数为对应的二进制数为______,对应的十六进制数为______。 供选择的答案 A:①②③④ B:①②③④ 3、二进制的1000001相当十进制的______,二进制的可以表示为______。 供选择的答案 A:① 62 ② 63 ③ 64 ④ 65 B:① 23+2–3② 22+2–2③ 23+2–2④ 22+2–3 4、十进制的100相当于二进制______,十进制的相当二进制的______。 供选择的答案 A:① 1000000 ② 1100000 ③ 1100100 ④ 1101000 B:① 2–1+2–2+2–4+2–5② 1–(2–3+2–4) ③ 1+(–2–3–2–4) ④ 1–2–3–2–4–2–6 5、八进制的100化为十进制为______,十六进制的100化为十进制为______。 供选择的答案 A:① 80 ② 72 ③ 64 ④ 56 B:① 160 ② 180 ③ 230 ④ 256 7、十六进制数相当十进制数______。 供选择的答案 A:①②③④ 8、 2005年可以表示为______ 年;而37308年是指______ 年。 供选择的答案 A:① 7C5H② 6C5H③ 7D5H④ 5D5H B:① 200010② 200210③ 200610④ 200810 9、二进制数可以表示为______;将其转换成八进制数为______;将其转换成十六进

二进制及其转换教案

二进制及其转换 [教学目标] 1、认知目标 (1)掌握进位制概念; (2)理解进制的本质; (3)掌握十进制和二进制的相互转换; (4)了解计算机所采用的数制及计算机采用二进制数的原因。 2、技能目标 掌握二进制数和十进制数转换以及运算规则。 3、能力目标 对学生思维能力进行拓展,激发他们探索计算机奥秘的欲望。 [教学重点] (1)进制的本质组成 (2)十进制与二进制间的相互转换 [难点] (1)进制的本质组成 (2)十进制与二进制间的相互转换 [教学方法] 讲授法举例法 [授课地点] 普通教室,不用多媒体 [教学过程] 一、引入新课 对计算机稍微了解的同学就知道计算机中使用的进位制是二进制,那什么是二进制,它跟我们数学上使用的十进制有什么联系。这节课准备给大家补充点二进制的知识,这跟数学关系很密切,请同学务必认真听课。 二、切入课堂内容 1、什么是进位制 提出问题:什么是进位制?最常见的进位制是什么? 学生普遍回答是十进制。 教师继续提问:那十进制为什么叫十进制?引起学生的思考。(部分经过思考的学生回答是约定的) 教师提醒学生一起回忆幼儿园开始学习算术的情景。 当是我们是从最简单的个位数相加学起,比如2+3=?,当时我们会数手指,2个手指+3个手指等于5个

手指,答案为5。 那4+6呢?4个手指+6个手指等于10个手指,10个手指刚好够用。 那6+9呢?当时我们就困惑了。记得当时老师是告诉我们把6拆成1+5,9+1=10,这时老师跟我们约定用一个脚趾表示10,另外用5个手指表示5。这样通过脚趾,我们就成功解决了两个数相加超过10的问题。 教师提问:那当时我们为什么要约定10呢,为什么用9或11?引起学生思考。(部分经过思考的学生回答为了方便运算) 教师提问:除此之外还有哪些常见的进位制?请举例说明。拓展学生的思维。 有学生回答60进制(时分秒的换算),360进制(1周=360度),二进制等等。 教师和学生一起归纳进位制的概念,学生和老师形成共识: 进位制是人们为了计数和运算方便而约定的记数系统。 2、什么是十进制? 教师提出问题:大家学习了十几年十进制,我们了解十进制吗?所谓的十进制,它是如何构成的? 引起学生思考。 十进制由三个部分构成: (1)由0、1、2、3、4、5、6、7、8、9十个数码组成; (2)进位方法,逢十进一;(基数为10) (3)采用位权表示法,即一个数码在不同位置上所代表的值不同。 引入基数和位权的概念 一种进制就规定了一组固定的数字,数字的个数就是这种类制的基数,如十进制规定了,0,1,2…9共10个数字,则十进制的基数就为10。 位权是一个比较新的概念,通过简单的例子介绍什么是位权。 比如:数码3,在个位上表示为3,在十位表示为30,在百位表示为300,在千位表示为3000。 3333=3000+300+30+3=3*103+3*102+3*101+3*100 这里个(100)、十(101)、百(102),称为位权,位权的大小是以基数为底,数码所在位置序号为指数的整数次幂。 教师提出问题:其它进位制的数又是如何的呢?引入二进制。 3、什么是二进制? 从生活最常用的十进制入手,讲解基数和位权的概念,学生理解后,引入二进制数的概念,在对二进制数进行介绍时,会把学生带入到一个全新的数字领域。 (1)二进制的表示方法(同样由三部分组成) ①由0、1两个数码来描述。如11001,记为11001(2)或者(11001)2 ②进位方法,逢二进一;(基数为2) ③位权大小为2-n ...、2-1、20、21、22...2n 比如 01234(2)2 12020212111001?+?+?+?+?=

BMP图像格式分析

BMP图像格式分析 BMP图像文件格式是微软公司为其Windows环境设置的标准图像格式,而且 Windows系统软件中还同时内含了一系列支持BMP图像处理的API函数,随着Windows 在世界范围内的不断普及,BMP文件格式无疑也已经成为PC机上的流行图像文件格式。它的主要特点可以概括为:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。其中,非压缩格式是BMP图像文件所采用的一种通用格式。但是,如果用户确定将BMP文件格式压缩处理,则Windows设计了两种压缩方式:如果图像为16色模式,则采用RLE4压缩方式,若图像为256色模式,则采用RLE8压缩方式。同时,BMP 图像文件格式可以存储单色、16色、256色以及真彩色四种图像数据,,其数据的排列顺序与一般文件不同,它以图像的左下角为起点存储图像,而不是以图像的左上角为起点;而且BMP图像文件格式中还存在另外一个与众不同的特点,即其调色板数据所采用的数据结构中,红、绿、蓝三种基色数据的排列顺序也恰好与其它图像文件格式相反。总之,BMP图像文件格式拥有许多适合于Windows环境的新特色,而且随着Windows版本的不断更新,微软公司也在不断改进其BMP 图像文件格式,例如:当前BMP图像文件版本中允许采用32位颜色表,而且针对32位Windows 的产生,相应的API 函数也在不断地报陈出新,这些无疑都同时促成了BMP文件格式的不断风靡。但由于BMP文件格式只适合于Windows上的应用软件,而对于DOS环境中的各种应用软件则无法提供相应的支持手段,因此这无疑是阻碍BMP文件格式的流通程度超过PCX文件格式的一个重要因素。 Windows中定义了两种位图文件类型,即一般位图文件格式与设备无关位图文件格式。其中,由于设备无关位图(DIB)文件格式具有更强的灵活性与完整的图像数据、压缩方式等定义。BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式,其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。以下将分别介绍BMP图像文件结构中的这三个重要组成部分。特别值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。 BMP图像文件的文件头定义 Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADERl另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为BITMAPINFOHEADERl 如果图像文件还需要调色板数据,则将其存放在文件头信息之后。 BITMAPFIlEHEADER数据结构在Windows.h中的定义为: typedef struCttagBITMAPFIlEHEADER { WORD bftype; DWORD bfsiZe: WORD bfReservedl; WORD bgReserved2: DWORD bfoffBits: }BITMAPFILEHEADER; 其中,bfrype在图像文件存储空间中的数据地址为0,数据类型为unsignedchar,内容为固定值“BM”,用于标志文件格式,表示该图像文件为BMP文件。 bfsize的数据地址为2,类型为unsignedlong,它以字节为单位,定义位图文件的大小。 bfReservedl与bfReserved2的数据地址分别为6和8,数据类型则都为unsignedint,二者都是BMP文件的保留字,没有任何意义,其值必须为0. bfoffBits的数据地址为10,数据类型为unsignedlong,它以字节为单位,指示图像数据在文件内的起始地址,即图像数

十进制转二进制

十进制转二进制(整数及小数部分): 1、把该十进制数,用二因式分解,取余。 以235为例,转为二进制 235除以2得117,余1 117除以2得58,余1 58除以2得29,余0 29除以2得14,余1 14除以2得7,余0 7除以2得3,余1 3除以2得1,余1 从得到的1开始写起,余数倒排,加在它后面,就可得11101011。 2、把十进制中的小数部份,转为二进制。 把该小数不断乘2,取整,直至没有小数为止,注意不是所有小数都能转为二进制! 以0.75为例, 0.75剩以2得1.50,取整数1 0.50剩以2得1,取整数1,顺序取数就可得0.11。 1、二进制数、八进制数、十六进制数转十进制数 有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2...举例: 110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D 110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D 110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D 2、十进制数转二进制数、八进制数、十六进制数 方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。

3、二进制数转换成其它数据类型 3-1二进制转八进制: 从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足, 就是一个相应八进制数的表示。 010110.001100B=26.14Q 八进制转二进制反之则可。 3-2二进制转十进制: 见1 3-3二进制转十六进制: 从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示, 不足四位的用0补足,就是一个相应十六进制数的表示。 00100110.00010100B=26.14H 十进制转各进制 要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。 一、十进制转二进制 如:55转为二进制 2|55 27――1 个位 13――1 第二位 6――1 第三位 3――0 第四位

图像数据格式基础知识

所谓位映像,即是指一个二维的像素矩阵,而位图就是采用位映像方法显示和存储图像。一幅图像的显示就是将图像的像素映射到屏幕的像素上并显示一定的颜色。当一幅图形的像素由彩色表示时就是我们通常所说的彩色图像了。 由于数字图像可以表示为矩阵的形式,所以在计算机数字图像处理程序中,通常用二维数组来存放图像数据。二维数组的行对应图像的高,二维数组的列对应图像的宽,二维数组的元素对应图像的像素,二维数组元素的值就是像素的灰度值。采用二维数组来存储数字图像,符合二维图像的行列特性,同时也便于程序的寻址操作,使得计算机图像编程十分方便。 图像的问题数据是一个二维数组(矩阵),矩阵的每一个元素对应了图像的一个像素,当保存一幅图像时,不但要保存图像的位图数据矩阵,还要将每个像素的颜色保存下来,颜色的记录是利用颜色表来完成的。 颜色表,也叫颜色查找表,是图像像素数据的颜色索引表。 对于真彩色图像,每个像素占存储空间3个字节(24位),分别对应R, G, B三个分量,每个像素的值已经将该像素的颜色记录下来了,不再需要颜色表,因此24位真彩色位图没有颜色表。 彩色图像可以由RGB彩色空间表示。彩色空间是用来表示彩色的数学模型,又被称为彩色模型。 计算计算上显示的图像经常有二值图像、灰度图像、伪彩色图像及真彩色图像等不同格式类型。而灰度和彩色格式是数字图像处理中最常用到的类型。 灰度图像是数字图像的最基本形式,灰度图像可以由黑白照片数字化得到,或从彩色图像进行去色处理得到。灰度图像只表达图像的亮度信息而没有彩色信息,因此,灰度图像的每个像素点上只包含一个量化的灰度级(即灰度值),用来表示该点的亮度水平,并且通常用1个字节(8个二进制位)来存储灰度值。 彩色图像数据不仅包含亮度信息,还包含颜色信息。 BMP文件结构及其存取: 数字图像在外存储器设备中的存储形式是图像文件,图像必须按照某个已知的、公认的数据存储顺序和结构进行存储,才能使不同的程序对图像文件顺利进行打开或存盘操作,实现数据共享。 图像数据子啊文件中的存储顺序和结构称为图像文件格式。 目前广为流传的图像文件格式有许多种,常见的格式包括BMP, GIF, JPEG, TIFF, PSD, DICOM, MPEG等。在各种图像文件格式中,一部分时由某个软硬件厂商提出并广泛接受和采用的格式,如BMP, GIF和PSD格式。另一部分是由各种国际标准组织提出的形式,例如JPEG/ TIFF和DICOM,其中JEPG是国际静止图像压缩标准组织提出的格式,TIFF是由部分厂商组织提出的格式,DICOM是医学图像国际标准组织提取的医学图像专用格式。 BMP文件是Windows操作系统所推荐和支持的图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,所以称为位图(bitmap)文件,因其文件扩展名为BMP,故称为BMP文件格式,简称BMP文件。 BMP文件结构: BMP文件图像被分成4部分:位图文件头、位图信息头、颜色表和位图数据。

相关主题
文本预览
相关文档 最新文档