彩色图像的边缘检测处理程序设计(10)
时间:2017-05-08 22:22 来源:毕业论文 作者:毕业论文 点击:次
(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色,增强型真彩色)。1000为0010h=16。 (10) 16-17:压缩说明:有0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中0300 0000为00000003h=3。 (11) 18-19:用字节数表示的位图数据的大小,该数必须是4的倍数,数值上等于(≥位图宽度的最小的4的倍数)×位图高度×每个像素位数。0090 0000为00009000h=80×90×2h=36864。 (12) 20-21:用象素/米表示的水平分辨率。A00F 0000为0000 0FA0h=4000。 (13) 22-23:用象素/米表示的垂直分辨率。A00F 0000为0000 0FA0h=4000。 (14) 24-25:位图使用的颜色索引数。设为0的话,则说明使用所有调色板项。 (15) 26-27:对图象显示有重要影响的颜色索引的数目。如果是0,表示都重要。 彩色板 (16) 28-....(不确定):彩色板规范。对于调色板中的每个表项,用下述方法来描述RGB的值: 1字节用于蓝色分量 ,1字节用于绿色分量, 1字节用于红色分量 ,1字节用于填充符(设置为0)。对于24-位真彩色图像就不使用彩色板,因为位图中的RGB值就代表了每个象素的颜色。 如,彩色板为00F8 0000 E007 0000 1F00 0000 0000 0000,其中:00F8为F800h=1111100000000000(二进制),是蓝色分量的掩码。 E007为07E0h=0000011111100000(二进制),是绿色分量的掩码。 1F00为001Fh=0000000000011111(二进制),是红色分量的掩码。 0000 总设置为0。 将掩码跟像素值进行“与”运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。 图像数据阵列 (17) 27(无调色板)-...:每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。 2 彩色图像边缘检测原理 2.1 彩色图像边缘检测处理算法 边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。边缘即图像中灰度发生急剧变化的区域边界。图像灰度分布的梯度能反映图像灰度的变化情况,因此可以用局部图像微分技术来获得边缘检测算子。 经典的边界提取技术大都基于微分运算。先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。 边缘检测算子有基于一阶导数的边缘检测算子和基于二阶导数的边缘检测算子两类,其中基于一阶导数的边缘检测算子有robert 算子、sobel 算子、prewitt 算子、log算子 、和canny算子等。基于二阶导数的边缘检测算子有拉普拉斯算子、拉普拉斯-高斯边缘检测算子(LOG算子)等。 (责任编辑:qin) |