zoukankan      html  css  js  c++  java
  • 图像文件格式

    LinJM  @HQU

    近期在做有关图像格式转换的东西,曾经对这一块还真有点缺失。仅仅能周末补补。

    在计算机中,数据是以文件的形式存储在外存储器上的。将图像数据以文件形式保存在外存储器上就形成了图像文件。图像文件就是以数字形式存储的图像数据。

    图像文件一般由文件头调色板数据像素数据3部分组成。

    文件头用于存放图像文件的各种參数,这些參数表征了图像本身的很多特性;调色板是图像的颜色索引表;像素数据是图像信息的实体所在,它存储了图像矩阵中各个点的像素信息。

    文件头中所存放的特征參数特别重要,它们包含:

    图像的类型

    通常在图像文件的最開始几位总是一串固定的字符,它们的作用就是表明了图像的文件类型,比如。BMP文件里的最開始的字符总是“BM”。

    图像的宽度

    通常以像素为单位计量图像横向上的水平宽度。图像的宽度是计算每行字节数的主要參数。

    图像的高度

    通常以像素为单位计量图像纵向上的垂直高度。

    每像素位数

    像素位数注明了每位像素所占的字节数。

    位平面数

    位平面数决定了图像的存储结构。单一位平面结构的图像数据採取像素的集中式存放。这样的存放形式与显示存储器雷同。

    多位平面结构的图像数据则以颜色分量为单位进行集中存放,如图1所看到的的样例为一幅3*3的24位真色图像的像素数据信息。

    B00G00R00 B01G01R01 B02G02R02
    B10G10R10 B11G11R11 B12G12R12
    B20G20R20 B21G21R21 B22G22R22
    图1

    单採用单一位平面结构时,图像的像素数据的实际存放方式图2所看到的;单採用多位平面结构时,图像的像素数据的实际存放方式如图3所看到的。

    R00R01R02
    R10R11R12
    R20R21R22
    G00G01G02
    G10G11G12
    G20G21G22
    B00B01B02
    B10B11B12
    B20B21B22
    图2

    R00R01R02
    G00G01G02
    B00B01B02
    R10R11R12
    G10G11G12
    B10B11B12
    R20R21R22
    G20G21G22
    B20B21B22
    图3

    压缩类型

    压缩类型參数用于标明图像文件是否被压缩及採用何种压缩方式。

    像素数据的首地址

    有无调色板等。

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    win10右键新建markdown文件
    force down pool_member
    自控力差,你可能忽略了一种更底层的能力
    多线程的通信问题
    多线程的安全问题
    Java实现多线程的两种方式
    为什么你成不了数据分析高手?可能是缺少这个思维
    jstack && jmap
    对ElasticSearch主副分片的理解
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5398388.html
Copyright © 2011-2022 走看看