linux下位图结构解析(一)

本文介绍了Linux下位图的基本概念,包括位图概述、文件结构和RGB颜色阵列。位图由文件信息头、位图信息头和像素数据组成,其中像素数据存储自左下角至右上角。文章提供了作者自定义的位图结构体代码,并提醒可能存在手误,欢迎读者验证并提供反馈。
摘要由CSDN通过智能技术生成

目录

前言

因为有获取视频帧来做色彩空间转换的需求,需要判断视频帧是否有问题,这时候就想用位图的方式,保存图片来检测视频帧是否正常,最简单的格式就是bmp图片,所以特地研究了下linux的位图格式。

位图概述

位图(Bitmap)是windows显示图片的基本格式。所有的图片格式,在windows平台最终都要转换成bmp才能进行显示。正是因为没有经过压缩,所以BMP图片占的容量会很大,所以才会有jpg,png等格式的图片吧!

一个完整的bmp位图文件,可以分为文件信息头位图信息头和**RGB颜色阵列三个部分。文件信息头主要包含“是否是BMP文件”,文件的大小等信息。而位图信息头则主要包含bmp文件的位图宽度,高度,位平面,通道数等信息。而RGB颜色阵列,里面才真正包含我们所需要的bmp位图的像素数据。bmp位图的颜色阵列部分,像素数据的存储是以左下角为原点,按照从左到右,从下到上的顺序,依次进行像素数据的存储。——carson2005

就是说,数据阵列中的第一个字节表示位图左下角的像素,而最后一个字节表示位图右上角的像素。

位图格式

一个完整的bmp位图文件,可以分为文件信息头、位图信息头和RGB颜色阵列三部分。

  1. 文件信息头
typedef struct  BitMapFileHeader
{  
    //unsigned short    bfType;
	unsigned long       bfSize;  
    unsigned short      bfReserved1;  
    unsigned short      bfReserved2;  
    unsigned long       bfOffBits;  
} BitMapFileHeader_t;  
  1. 位图信息头
typedef struct BITMAPINFOHEADER
{
    HI_U32		biSize;
    HI_U32      biWidth;
    HI_S32      biHeight;
    HI_U16      biPlanes;
    HI_U16      biBitCount;
    HI_U32      biCompression;
    HI_U32      biSizeImage;
    HI_U32      biXPelsPerMeter;
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值