精华内容
下载资源
问答
  • TIFF图像文件格式详解整理

    千次阅读 2020-03-25 20:25:09
    做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, 任何其他的图像格式都能为TIFF所用, 嵌入到TIFF里面。比如...

    1 什么是TIFF? 
    TIFF是Tagged Image File Format的缩写。在现在的标准中,只有TIFF存在, 其他的提法已经舍弃不用了。做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, 任何其他的图像格式都能为TIFF所用, 嵌入到TIFF里面。比如JPEG, Lossless JPEG, JPEG2000和任意数据宽度的原始无压缩数据都可以方便的嵌入到TIFF中去。由于它的可扩展性, TIFF在数字影响、遥感、医学等领域中得到了广泛的应用。TIFF文件的后缀是.tif或者.tiff

    2 TIFF文件结构 
    TIFF文件中的三个关键词是:图像文件头Image File Header(IFH), 图像文件目录Image File Directory(IFD)和目录项Directory Entry(DE)。每一幅图像是以8字节的IFH开始的, 这个IFH指向了第一个IFD。IFD包含了图像的各种信息, 同时也包含了一个指向实际图像数据的指针。

    IFH的构成: 
    Byte 0-1: 字节顺序标志位, 值为II或者MM。II表示小字节在前, 又称为little-endian。MM表示大字节在前,又成为big-endian。
    Byte 2-3: TIFF的标志位,一般都是42
    Byte 4-7: 第一个IFD的偏移量。可以在任意位置, 但必须是在一个字的边界,也就是说必须是2的整数倍。

    IFD的构成(0代表此IFD的起始位置): 
    Byte 0-1: 表示此IFD包含了多少个DE,假设数目为n
    Byte 2-(n*12+1): n个DE
    Byte (n*12+2)-(n*12+5): 下一个IFD的偏移量,如果没有则置为0

    DE的构成(12个 Byte): 
    Byte 0-1: 此TAG的唯一标识
    Byte 2-3: 数据类型。
    Byte 4-7: 数量。通过类型和数量可以确定存储此TAG的数据需要占据的字节数
    Byte 8-11: 如果占用的字节数少于4, 则数据直接存于此。 如果超过4个,则这里存放的是指向实际数据的指针

    一个TIFF文件可能包含多个IFD,每一个IFD都是一个子文件。Baseline解码器只要求解第一个IFD所对应的图像数据。扩展的TIFF图像经常包含多个IFD,每一个IFD都包含了不同的信息。

    下面以一幅W*H为12*6的tif图像为例说明:(其中RGB分别为150,100,50)

    0000-0007:文件头,可以看出,该图是II字节顺序,第一个IFD的偏移量为E6。

    00E0-018D:第一个IFD。Directory Entry Count的值(00E0-00E1)为E,表示这个IFD中有14个DE,每个DE占用12字节,14个DE共占用168字节,加上Directory Entry Count占用的2字节,再加上Offset to next IFD占用的4字节,这个IFD共占用174字节,换算为16进制就是AE,所以,它的数据结束于018D。Offset to next IFD的值(最后4个字节)均为0,表示整幅图像文件只有这一个IFD。

    00E2-00ED:其中00E2-00E3为第一个IFD中的第1个DE的tag值0100h,代表图像宽度;00EA-00ED为图像宽度值000Ch(12d)。

    00EE-00F9:其中00EE-00EF为第一个IFD中的第2个DE的tag值0101h,代表图像高度;00F6-00F9为图像宽度值0006h(6d)。

    011E-0129:011E-011F的tag值为0111h,代表每个Strip的偏移,0126-0129为图像数据对应的地址0008h。

    0142-014D:图像数据量,为00D8h(216)。

    0008-00DF:图像数据。

    参考:

    [1] https://www.cnblogs.com/gywei/p/3393816.html

    [2] https://blog.csdn.net/han_jiang_xue/article/details/8266207

    [3] https://www.cnblogs.com/qiaozhoulin/p/4556207.html

     

    附1:TIFF 12种数据类型

    1 = BYTE 8-bit unsigned integer.
    2 = ASCII 8-bit byte that contains a 7-bit ASCII code; the last byte
    must be NUL (binary zero).
    3 = SHORT 16-bit (2-byte) unsigned integer.
    4 = LONG 32-bit (4-byte) unsigned integer.
    5 = RATIONAL Two LONGs: the first represents the numerator
    6 = SBYTE An 8-bit signed (twos-complement) integer.
    7 = UNDEFINED An 8-bit byte that may contain anything, depending on
    the definition of the field.
    8 = SSHORT A 16-bit (2-byte) signed (twos-complement) integer.
    9 = SLONG A 32-bit (4-byte) signed (twos-complement) integer.
    10 = SRATIONAL Two SLONG’s: the first represents the numerator of a
    fraction, the second the denominator.
    11 = FLOAT Single precision (4-byte) IEEE format.
    12 = DOUBLE Double precision (8-byte) IEEE format.

     

    附2:Tiff Tag 参考(https://www.awaresystems.be/imaging/tiff/tifftags/baseline.html)

    基本Tag是所有TIFF编解码器必须支持的Tag

    名称简短描述
    十进制码十六进制
    25400FENewSubfileType

    新的子文件类型标识 LONG 长度为1

    用比特来标识图像的类型

    Bit0如果是1代表缩略图

    Bit1如果是1代表多页图像中的某一页

    Bit2如果是1代表它是透明度掩码图像

    其余的位数暂时没有定义。与SubfileType的是,此Tag用比特位来区分文件类型而不是用值来区分

    25500FFSubfileType

    子文件类型标识 SHORT 长度为1

    1 全分辨率图像

    2 缩小分辨率的图像

    3 多页图像的某一页

    过时的Tag,已不再使用。

    2560100ImageWidth

    图像宽度 SHORT或者LONG 长度为1

    2570101ImageLength图像高度 SHORT或者LONG 长度为1
    2580102BitsPerSample

    每个分量的Bit数 SHORT 长度为SamplesPerPixel

    2590103Compression

    压缩类型 SHORT 长度为1

    随着TIFF的不断扩张,目前支持多达几十种的压缩方式。就我个人看来,最需要关注的有以下两个值:

    Compression=1: 没有压缩

    Compression=7:JPEG压缩。 如果是RGB图像并且SamplesPerPixel=3,则是标准的有损JPEG压缩。如果是CFA图像,则是Lossless JPEG

    2620106PhotometricInterpretation

    颜色空间 SHORT 长度为1

     

    0 = WhiteIsZero. 应用于灰度或者二值图像, 0对应最亮灰度.
    1 = BlackIsZero. 应用于灰度或者二值图像. 0对应最暗灰度。
    2 = RGB. 正常RGB图像,存储顺序为R,G,B.
    3 = Palette color. 索引图像, ColorMap必须定义,SamplesPerPixel必须1.

    32803 = CFA (Color Filter Array)

    2630107Threshholding定义了转换成二值图像的阈值,忽略之
    2640108CellWidthThe width of the dithering or halftoning matrix used to create a dithered or halftoned bilevel file.
    2650109CellLengthThe length of the dithering or halftoning matrix used to create a dithered or halftoned bilevel file.
    266010AFillOrder在同一字节中的逻辑顺序。一般不做定义,要定义的话建议用1
    270010EImageDescription字符串, 对图像的描述
    271010FMake字符串, 生产厂商的描述
    2720110Model字符串
    2730111StripOffsets

    每个Strip的偏移量 SHORT或者LONG

    N = StripsPerImage for PlanarConfiguration equal to 1; N = SamplesPerPixel * StripsPerImage for PlanarConfiguration equal to 2

    2740112OrientationThe orientation of the image with respect to the rows and columns.
    2770115SamplesPerPixel每个象素的通道数 SHORT 长度为1
    2780116RowsPerStrip

    每个Strip有多少行 SHORT或者LONG 长度为1。Default是无限大

    StripsPerImage = floor ((ImageLength + RowsPerStrip - 1) / RowsPerStrip).

    2790117StripByteCounts

    每个Strip的长度 SHORT或者LONG

    N = StripsPerImage for PlanarConfiguration equal to 1; N = SamplesPerPixel * StripsPerImage for PlanarConfiguration equal to 2

    2800118MinSampleValueThe minimum component value used.
    2810119MaxSampleValueThe maximum component value used.
    282011AXResolutionThe number of pixels per ResolutionUnit in the ImageWidth direction.
    283011BYResolutionThe number of pixels per ResolutionUnit in the ImageLength direction.
    284011CPlanarConfigurationHow the components of each pixel are stored.
    2880120FreeOffsetsFor each string of contiguous unused bytes in a TIFF file, the byte offset of the string.
    2890121FreeByteCountsFor each string of contiguous unused bytes in a TIFF file, the number of bytes in the string.
    2900122GrayResponseUnitThe precision of the information contained in the GrayResponseCurve.
    2910123GrayResponseCurveFor grayscale data, the optical density of each possible pixel value.
    2960128ResolutionUnitThe unit of measurement for XResolution and YResolution.
    3050131SoftwareName and version number of the software package(s) used to create the image.
    3060132DateTimeDate and time of image creation.
    315013BArtistPerson who created the image.
    316013CHostComputerThe computer and/or operating system in use at the time of image creation.
    3200140ColorMap调色板
    3380152ExtraSamplesDescription of extra components.
    334328298CopyrightCopyright notice.

     

    展开全文
  • TIFF图像文件格式详解

    千次阅读 2018-08-30 18:24:53
    1 什么是TIFF? TIFF是Tagged Image File Format的缩写。...做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, ...

    from:https://www.cnblogs.com/gywei/p/3393816.html

    1 什么是TIFF?
    TIFF是Tagged Image File Format的缩写。在现在的标准中,只有TIFF存在, 其他的提法已经舍弃不用了。做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, 任何其他的图像格式都能为TIFF所用, 嵌入到TIFF里面。比如JPEG, Lossless JPEG, JPEG2000和任意数据宽度的原始无压缩数据都可以方便的嵌入到TIFF中去。由于它的可扩展性, TIFF在数字影响、遥感、医学等领域中得到了广泛的应用。TIFF文件的后缀是.tif或者.tiff

    2 TIFF文件结构 
    TIFF文件中的三个关键词是:

    图像文件头Image File Header(IFH)

    图像文件目录Image File Directory(IFD)

    目录项Directory Entry(DE)。

    每一幅图像是以8字节的IFH开始的, 这个IFH指向了第一个IFD。IFD包含了图像的各种信息, 同时也包含了一个指向实际图像数据的指针。
    IFH的构成:
    Byte 0-1: 字节顺序标志位, 值为II或者MM。II表示小字节在前, 又称为little-endian。MM表示大字节在前,又成为big-endian。
    Byte 2-3: TIFF的标志位,一般都是42
    Byte 4-7: 第一个IFD的偏移量。可以在任意位置, 但必须是在一个字的边界,也就是说必须是2的整数倍。
    IFD的构成(0代表此IFD的起始位置):
    Byte 0-1: 表示此IFD包含了多少个DE,假设数目为n
    Byte 2-(n*12+1): n个DE
    Byte (n*12+2)-(n*12+5): 下一个IFD的偏移量,如果没有则置为0
    DE的构成:
    Byte 0-1: 此TAG的唯一标识
    Byte 2-3: 数据类型。
    Byte 4-7: 数量。通过类型和数量可以确定存储此TAG的数据需要占据的字节数
    Byte 8-11: 如果占用的字节数少于4, 则数据直接存于此。 如果超过4个,则这里存放的是指向实际数据的指针

    可以用以下的图来表示(图来自http://www.cppblog.com/windcsn/archive/2009/03/12/1158.html)

    在TIFF6.0中,定义了12种数据类型,分别是:

    1 = BYTE 8-bit unsigned integer.
    2 = ASCII 8-bit byte that contains a 7-bit ASCII code; the last byte must be NUL (binary zero).
    3 = SHORT 16-bit (2-byte) unsigned integer.
    4 = LONG 32-bit (4-byte) unsigned integer.
    5 = RATIONAL Two LONGs: the first represents the numerator
    6 = SBYTE An 8-bit signed (twos-complement) integer.
    7 = UNDEFINED An 8-bit byte that may contain anything, depending on the definition of the field.
    8 = SSHORT A 16-bit (2-byte) signed (twos-complement) integer.
    9 = SLONG A 32-bit (4-byte) signed (twos-complement) integer.
    10 = SRATIONAL Two SLONG’s: the first represents the numerator of a fraction, the second the denominator.
    11 = FLOAT Single precision (4-byte) IEEE format.
    12 = DOUBLE Double precision (8-byte) IEEE format.

    -个TIFF文件可能包含多个IFD,每一个IFD都是一个子文件。Baseline解码器只要求解第一个IFD所对应的图像数据。扩展的TIFF图像经常包含多个IFD,每一个IFD都包含了不同的信息。

    TIF图一般由三个部分组成:文件头(简称IFH)、文件目录(简称IFD)、图像数据。
    一、图像文件头(Image File Header)
      IFH数据结构包含3个成员共计8个字节(见表一):

    表一: IFH结构描述
    名称字节数数据类型说明
    Byteorder2IntegerTIF标记,其值为4D4D或4949
    Version2Integer版本号,其值恒为2A00
    Offset to first IFD4Long第一个IFD的偏移量

    表一说明
      1.Byteorder:可能是H4D4D或H4949,H4D4D表示该图是摩托罗拉整数格式,H4949表示该图是Intel整数格式。
      2.Version:总是H2A00,它可能是tif文件的版本,也可能用于进一步校验该文件是否为TIF格式。
      3.Offset to first IFD:第一个IFD相对文件开始处的偏移量(因为可能会有多个顺序排列的IFD)。
      IFD数据结构并不一定紧跟在IFH后面,相反,它常常位于第三部分图像数据的后面,即TIF图像文件的一般组织形式是:IFH——图像数据——IFD。
    二、图像文件目录(Image File Directory)
      IFD是TIF图像文件中重要的数据结构,它包含了三个成员。由于一个TIF文件中可以有多个图像,而一个IFD只标识一个图像的所有属性(有的文章把“属性”称之为“标签”),所以,一个TIF文件中有几个图像,就会有几个IFD。IFD的结构见表二:

    表二 IFD结构描述
    名称字节数数据类型说明
    Directory Entry Count2Integer本IFD中DE的数量
    Directory Entry(1)12 简称DE,中文译义“目录项”
    Directory Entry(2)12  
    .。。。。。。。   
    Directory Entry(N)12  
    Offset to next IFD4Long下一个IFD的偏移量
        

    表二说明
      1.Directory Entry Count:指出在该IFD中DE的个数;
      2.Directory Entry:共12个字节,结构见表三。需要指出的是,DE的个数是不定的,因为每个DE只标识了图像的一个属性,那么这幅图像有N个属性就会有N个DE,用户甚至可添加自定义的标记属性,这就是为什么称TIF格式文件为“可扩充标记的文件”的原因。
      3.Offset to next IFD Or NULL:下一个IFD相对于文件开始处的位置,这是一个链式构成。如果该数字为0,表示已经是最后一个IFD。当然,如果该TIF文件只包含了一幅图像,那么就只有一个IFD,显然这个偏移量也会等于0。

    表三 DE结构描述
    名称字节数数据类型说明
    tag2Integer本属性的标签编号
    type2Integer本属性值的数据类型
    length4Long该类型数据的数量
    valueOffset4Long属性值的存放偏移量
        

    表三说明
      由DE标识的图像属性有:图像的大小、分辨率、是否压缩、像素的行列数、颜色深度(单色、16色、256色、真彩色)等等。其中:
      ①tag:是该属性的标签编号(TagID),在图像文件目录中,它是按照升序排列的(但不一定是连续的)。这些编号在TIF格式官方白皮书中可以查到相应的含义,但遗憾的是,我们到哪儿可以找到官方白皮书呢?所以,笔者只能把网上能找得到资料(再结合自己的实验结果)罗列出来,见表四。
      ②type:表示该属性数据的类型,一般认为TIF官方指定的有5种数据类型(但也有说12种数据类型的)。见表五。
      ③length:该种类型的数据的个数,而不是某个数据的长度。
      ④valueOffset:是tagID代表的变量值相对文件开始处的偏移量,但如果变量值占用的空间不多于4个字节(例如只有1个Integer类型的值),那么该值就直接存放在valueOffset中,没必要再另外指向一个地方了。

    表四 DE中标签编号的含义
    TagID属性名称type说明
    0100图像宽0003 
    0101图像高0003 
    0102颜色深度0003值=1为单色,=4为16色,=8为256色。如果该类型数据个数>2个,说明是真彩图像
    0103图像数据是否压缩0003值=05表示压缩
    0106图像是否采用反色显示0003值=01表示反色,否则表示不反色
    0111图像扫描线偏移量0004图像数据起始字节相对于文件开始处的位置
    0116图像扫描线的数量0004表示图像有几行扫描线,实际上等于图像高度
    0117图像数据字节总数0003如果不是偶数,那么实际存放时会在后面加0
    011A水平分辩率偏移量0005常用计量单位是:像素/英寸
    011B垂直分辩率 偏移量0005常用计量单位是:像素/英寸
    0131生成该图像的软件名0002文本类型
    0132生成该图像的时间0002文本类型
    0140调色板偏移量0003256色和16色图像才有此属性,而且有连续2个调色板,但属性的length值只表示出1个调色板

    表四说明
      ①“水平(垂直)分辩率”是分数型的属性,其值要占用8个字节,所以在valueOffset中存放的肯定是它的具体数值的偏移量,而不是数值本身。
      ②“生成图像的软件名称”和“生成图像的时间”这两个字符型属性,它们的值所占用的空间也会大于4字节,所以在valueOffset中存放的也是它们的值的偏移量,而不是值本身。
      ③“图像数据字节总数”一般是个偶数,如果是奇数,那么实际存放时会在后面加一个0,但这个0不会计算在字节总数之内。

    表五 DE中的数据类型
    type值数据类型说明
    0001Byte 
    0002Ascii文本类型,7位Ascii码加1位二进制0
    0003Integer 
    0004Long 
    0005RATIONAL分数类型,由两个Long组成,第1个是分子,第2个是分母


    三、图像数据

    这些数据可能是压缩的,也可能是未压缩的。如果经过压缩,那么压缩算法又有许多种,所以,图像数据是TIF文件中最为复杂的部分,暂还没有哪个软件能译出所有的压缩算法。
    四、一个 Tif 文件的实例
      让我们自己动手做一个实验,以加深理性认识。
      用系统自带的画图程序新建一个17*15的白色图像,另存为TIF文件,它的全部数据如下(因设备差异你的数据也许会有些微不同):
    0000: 49 49 2A 00 4E 00 00 00 80 3F E0 50 38 24 16 0D
    0010: 07 84 42 61 50 B8 64 36 1D 0F 88 44 62 51 38 A4
    0020: 56 2D 17 8C 46 63 51 B8 E4 76 3D 1F 90 48 64 52
    0030: 39 24 96 4D 18 80 80 00 60 00 00 00 01 00 00 00
    0040: 60 00 00 00 01 00 00 00 08 00 08 00 08 00 0F 00
    0050: FE 00 04 00 01 00 00 00 00 00 00 00 00 01 03 00
    0060: 01 00 00 00 11 00 00 00 01 01 03 00 01 00 00 00
    0070: 0F 00 00 00 02 01 03 00 03 00 00 00 48 00 00 00
    0080: 03 01 03 00 01 00 00 00 05 00 00 00 06 01 03 00
    0090: 01 00 00 00 02 00 00 00 11 01 04 00 01 00 00 00
    00A0: 08 00 00 00 15 01 03 00 01 00 00 00 03 00 00 00
    00B0: 16 01 04 00 01 00 00 00 0F 00 00 00 17 01 04 00
    00C0: 01 00 00 00 2F 00 00 00 1A 01 05 00 01 00 00 00
    00D0: 38 00 00 00 1B 01 05 00 01 00 00 00 40 00 00 00
    00E0: 1C 01 03 00 01 00 00 00 01 00 00 00 28 01 03 00
    00F0: 01 00 00 00 02 00 00 00 3D 01 03 00 01 00 00 00
    0100: 01 00 00 00 00 00 00 00
    简要分析(请注意转换16进制数据时,低位在前,高位在后):
    0000-0007:文件头,可以看出,该图是Intel整数格式,第一个IFD的偏移量为4E。
    0008-0037:图像数据。注意最后那个0是补加的,它没有统计在“图像数据字节总数”属性值中。
    0038-003F:水平分辩率值。
    0040-0047:垂直分辩率值。
    0048-004D:颜色深度值。
    004E-0107:第一个IFD。Directory Entry Count的值(004E-004F)为F,表示这个IFD中有15个DE,每个DE占用12字节,15个DE共占用180字节,加上Directory Entry Count占用的2字节,再加上
      Offset to next IFD占用的4字节,这个IFD共占用186字节,换算为16进制就是BA,所以,它的数据结束于0107。Offset to next IFD的值(最后4个字节)均为0,表示整幅图像文件只有这一个IFD。其中15个DE的描述见表六。
                  表六 一个Tif文件实例的DE描述
    -------------------------------------------------------------------------
    顺号   偏移量  TagID    Type       length   valueOffset          说明
    --------------------------------------------------------------------------
    1        0050  00FE     Long     1   00    未知属性值=0
    2        005C  0100  Integer       1   11    图像宽为17像素(10进制)
    3        0068  0101   Integer       1   0F    图像高为15像素(10进制)
    4        0074  0102   Integer       3   48    图像为真彩色,其值存放在48-4D
    5        0080  0103   Integer       1   05    图像数据是压缩的
    6        008C 0106      Integer       1   02    图像不反色显示
    7        0098  0111      Long   1   08    图像数据起始字节为8
    8        00A4  0115  Integer        1   03    未知属性值=3
    9        00B0  0116  Long     1   0F    图像扫描线有15行
    10      00BC 0117  Long     1   2F    图像共有47个字节的压缩数据
    11   00C8  011A  RATIONAL 1   38    水平分辩率存放在38-3F
    12   00D4  011B  RATIONAL 1   40    垂直分辩率存放在40-47
    13   00E0  011C  Integer          1   01    未知属性值=1
    14   00EC 0128  Integer           1   02    未知属性值=2
    15   00F8  013D  Integer          1   01    未知属性值=1
    --------------------------------------------------------------------------
    表六说明
      ①水平分辩率值存放在0038-003F,占用8个字节,这8个字节是:60 00 00 00 01 00 00 00。由于它是分数类型,前4个字节是分子,其值为60000000,转换为10进制就是96,后4个字节是分母,其值是10000000,转换为10进制就是1,所以,分数值是:96/1,它表示每英寸96像素。
      ②垂直水平分辩率值存放在0040-0047,请参照①进行分析。
      ③颜色深度属性,它有3个Integer类型的值,共计6字节,所以valueOffset中存放的也是其值的偏移量。它的属性值存放在0048-004D,3个整形数据值都为8,表示这是一幅24位真彩色的图像。

    展开全文
  • 图像常用的格式总结及比较

    千次阅读 2019-08-02 13:56:30
    PNG(Portable Network Graphics)的原名称为”可移植性网络图像”,是网上接受的最新图像文件格式。PNG能够提供长度比GIF小30%的无损压缩图像文件。它同时提供 24位和48位真彩色图像支持以及其他诸多技术性...

    参考文章:https://blog.csdn.net/LG1259156776/article/details/49081971

    一.PNG格式------无损压缩

    PNG(Portable Network Graphics)的原名称为”可移植性网络图像”,是网上接受的最新图像文件格式。PNG能够提供长度比GIF小30%的无损压缩图像文件。它同时提供 24位和48位真彩色图像支持以及其他诸多技术性支持。由于PNG非常新,所以目前并不是所有的程序都可以用它来存储图像文件,Photoshop不但可以处理PNG图像文件,也可以用PNG图像文件格式存储。
    PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是企图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的“PNG’s Not GIF”,是一种位图文件(bitmap file)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。
      PNG文件格式保留GIF文件格式的下列特性:
      使用彩色查找表或者叫做调色板可支持256种颜色的彩色图像。
      流式读/写性能(streamability):图像文件格式允许连续读出和写入图像数据,这个特性很适合于在通信过程中生成和显示图像。
      逐次逼近显示(progressive display):这种特性可使在通信链路上传输图像文件的同时就在终端上显示图像,把整个轮廓显示出来之后逐步显示图像的细节,也就是先用低分辨率显示图像,然后逐步提高它的分辨率。
      透明性(transparency):这个性能可使图像中某些部分不显示出来,用来创建一些有特色的图像。

    二.JPEG格式------有损压缩之DCT

    JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为”.jpg”或”.jpeg”,是最常用的图像文件格式,由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。
      而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把1.37Mb的BMP位图文件压缩至20.3KB。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。
      JPEG格式是目前网络上最流行的图像格式,是可以把文件压缩到最小的格式,在 Photoshop软件中以JPEG格式储存时,提供11级压缩级别,以0—10级表示。其中0级压缩比最高,图像品质最差。即使采用细节几乎无损的10 级质量保存时,压缩比也可达 5:1。以BMP格式保存时得到4.28MB图像文件,在采用JPG格式保存时,其文件仅为178KB,压缩比达到24:1。经过多次比较,采用第8级压缩为存储空间与图像质量兼得的最佳比例。
      JPEG格式的应用非常广泛,特别是在网络和光盘读物上,都能找到它的身影。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快。

    三.TIFF格式

    标签图像文件格式(Tag Image File Format,TIFF)是一种灵活的位图格式,主要用来存储包括照片和艺术图在内的图像,最初由Aldus公司与微软公司一起为PostScript打印开发。TIFF与JPEG和PNG一起成为流行的高位彩色图像格式。
    TIFF(Tag Image File Format)图像文件是图形图像处理中常用的格式之一,其图像格式很复杂,但由于它对图像信息的存放灵活多变,可以支持很多色彩系统,而且独立于操作系统,因此得到了广泛应用。在各种地理信息系统、摄影测量与遥感等应用中,要求图像具有地理编码信息,例如图像所在的坐标系、比例尺、图像上点的坐标、经纬度、长度单位及角度单位等等。
    TIFF文件以.tif为扩展名。其数据格式是一种3级体系结构,Ti内部结构可以分成三个部分,分别是:文件头信息区、标识信息区和图像数据区。其中所有的标签都是以升序排列,这些标签信息是用来处理文件中的图像信息的。
    在每一个TIFF文件中第一个数据结构称为图像文件头或IFH,它是图像文件体系结构的最高层。这个结构在一个TIFF文件中是惟一的,有固定的位置。它位于文件的开始部分,包含了正确解释TIFF文件的其他部分所需的必要信息。
    IFD是TIFF文件中第2个数据结构,它是一个名为标记(tag)的用于区分一个或多个可变长度数据块的表,标记中包含了有关于图像的所有信息。
    IFD提供了一系列的指针(索引),这些指针告诉我们各种有关的数据字段在文件中的开始位置,并给出每个字段的数据类型及长度。这种方法允许数据字段定位在文件的任何地方,且可以是任意长度,因此文件格式十分灵活。根据IFD所指向的地址,存储相关的图像信息。

    四.BMP格式------无压缩

    BMP(BitMap)是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
      由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。它是包括Windows在内多种操作系统图像展现的终极形式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的 Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,BMP不进行压缩,并可以直接还原16进制和二进制代码,但由此导致了它与生俱生来的缺点–占用磁盘空间过大。所以,目前BMP在单机上比较流行。网络上使用非常少。
      典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。

    五.GIF格式------无损压缩

    GIF(Graphics Interchange Format)的原义是”图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。
      GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像,故不宜应用于真彩色图片。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
      GIF解码较快,因为采用隔行存放的GIF图像,在边解码边显示的时候可分成四遍扫描。第一遍扫描虽然只显示了整个图像的八分之一,第二遍的扫描后也只显示了1/4,但这已经把整幅图像的概貌显示出来了。在显示GIF图像时,隔行存放的图像会给您感觉到它的显示速度似乎要比其他图像快一些,这是隔行存放的优点。
    分为静态GIF和动画GIF两种,支持透明背景图像,适用于多种操作系统,”体型”很小,网上很多小动画都是GIF格式。其实GIF是将多幅图像保存为一个图像文件,从而形成动画,所以归根到底GIF仍然是图片文件格式。
    尽管GIF图像有这样那样的缺点,但这种格式仍在网络上大行其道,这和GIF图像文件短小、下载速度快、可用许多具有同样大小的图像文件组成动画等优势是分不开的。

    六.比较

    1. TIFF:应用广泛------(1)TIFF可以描述多种类型的图像;(2)TIFF拥有一系列的压缩方案可供选择;(3)TIFF不依赖于具体的硬件;(4)TIFF是一种可移植的文件格式。可扩展性-----在TIFF 6.0中定义了许多扩展,它们允许TIFF提供以下通用功能:(1)几种主要的压缩方法;(2)多种色彩表示方法;(3)图像质量增强;(4)特殊图像效果;(5)文档的存储和检索帮助。
      小图标,用BMP储存最好。jpg适用于摄影图片,以及色彩丰富的图片。它采用压缩算法,会对图片上每8px*8px的像素进行处理,通过强制渐变的方法来减小文件尺寸,因此无论选择的储存质量多高,还是会多多少少失真一些,但对于摄影之类的图片来说,jpg格式就会比png小很多了。GIF一般用于类似小视频的图片。

    2. PNG与 GIF
      1、一般情况下将静态GIF图像无损转换为PNG后可以压缩率会略为提高(前提是同样采用8位索引模式)。
      2、PNG可提供更大颜色深度的支持,包括24位(8位3通道)和48位(16位3通道)真彩色。加入α通道后可进一步支持每像素64位的表示。
      3、超过8位色深的PNG图像转换为GIF时,图像质量会由于分色(颜色数减少)而下降。
      4、GIF原生支持动态图像,PNG只能通过非标准实现,在PNG的基础上另有发展出支持动画的APNG和MNG格式,但普及度不高。PNG在IE6等旧浏览器上的支持较差。

    3. PNG 与JPEG
      1、JPEG可以对照片(或类似)图像生成更小的文件,这是由于JPEG采用了一种针对照片图像的特定有损编码方法,这种编码适用于低对比,图像颜色过渡平滑,噪声多,且结构不规则的情况下。
      如果在这种情况下用PNG代替JPEG,文件尺寸增大很多,而图像质量的提高有限。相应的,如果保存文本,线条或类似的边缘清晰,有大块相同颜色区域的图像,PNG格式的压缩效果就要比JPEG好很多,并且不会出现JPEG那样的高对比度区域的图像有损。
      如果图像既有清晰边缘,又有照片图像的特点,就在在这两种格式之间权衡一下了。JPEG不支持透明度。
      2、由于JPEG是有损压缩,会产生迭代有损,在重复压缩和解码的过程中会不断丢失信息使图像质量下降。由于PNG是无损的,保存将要被编辑的图像来说更加合适。
      虽然PNG压缩照片图像也有效,但有专门针对照片图像设计的无损压缩格式,比如无损JPEG2000,Adobe DNG等。总的来说这些格式都不能做到适用所有图像。对于将要发布的图像可以保存成JPEG,用JPEG编码一次不会造成明显的图像有损。

    展开全文
  • Python图像处理基础

    千次阅读 多人点赞 2018-01-19 11:38:10
    Python图像处理基础 对我个人而言使用Python图像处理意在取代matlab,集中化使用Python环境保证之后在机器学习和OpenCV的使用上具有一致性,虽然从实验室师兄师姐的口中得知Python的图像处理较之matlab相对复杂...

    Python图像处理基础

    对我个人而言使用Python图像处理意在取代matlab,集中化使用Python环境保证之后在机器学习和OpenCV的使用上具有一致性,虽然从实验室师兄师姐的口中得知Python的图像处理较之matlab相对复杂(应该只是代码量的问题),但我依然觉得学习python环境比较实用和高效。在进行Python图像处理之前,Pillow是不可或缺的实用性工具,pillow是Python Imaging Library的缩写,Pillow由PIL而来,导入该库使用import PIL。同时感谢Python社区内的翻译工作者,将pillow的英文稳当翻译为汉语文档。传统的PIL库不支持python3,所以使用从PIL派生出来的Pillow库。

    从学习PIL开始

    Python Imaging Library ( PIL ) 给 Python 增加了图像处理能力。这个库提供了广泛的文件格式支持,高效的内部展现,以及十分强大的图像处理能力。以下为我们常用的图像处理功能:

    • 图像存储
      PIL 设计用于图像归档和图像批量处理,可以使用它建立缩略图,转换格式,打印图片等。现在的版本可以验证和读取大量的图片格式。写入有意设计为只能写入常用的文件格式。
    • 图像显示
      现在的版本包含了 Tk PhotoImage 和 BitmapImage 接口, 以及 Windows DIB interface ,这有助于在 Windows 下使用。
      为了方便测试,还提供了 show() 方法,可以保存图像到磁盘并显示。
    • 图像处理
      这个库包含了基本的图像处理功能,包括点操作,使用内置卷积内核过滤,色彩空间转换。支持更改图像大小、旋转、自由变换。有一个直方图方法允许你统计图像,这可以用于对比度增强和全局统计分析。

    使用 Image 类

    要从文件加载图像,使用 open() 函数, 在 Image 模块:

        @zhangziju
        from PIL import Image             ##调用库
        im = Image.open("E:\mywife.jpg")  ##文件存在的路径
        im.show()                         

    我老婆

    需要知道的是在win的环境下im.show的方式为win自带的图像显示应用。

    @zhangziju
    from PIL import Image
    im = Image.open("E:\mywife.jpg")
    print(im.format, im.size, im.mode) ## 打印出关键信息
    im.show()

    JPEG (750, 560) RGB ## 输出关键信息 同时再次看到我老婆

    format 这个属性标识了图像来源。如果图像不是从文件读取它的值就是None。
    size属性是一个二元元组,包含width、height(宽度和高度,单位都是px)。mode 属性定义了图像bands的数量和名称,以及像素类型和深度。
    常见的modes 有 “L” (luminance) 表示灰度图像,“RGB”表示真彩色图像,和 “CMYK” 表示出版图像。如下表为常见的nodes描述。

    modes描述
    11位像素,黑和白,存成8位的像素
    L8位像素,黑白
    P8位像素,使用调色板映射到任何其他模式
    RGB3× 8位像素,真彩
    RGBA4×8位像素,真彩+透明通道
    CMYK4×8位像素,颜色隔离
    YCbCr3×8位像素,彩色视频格式
    I32位整型像素
    F32位浮点型像素

    读写图像

    PIL 模块对目前存在的大多数图片格式都支持,一般使用 Image 模块的 open() 函数从磁盘读取文件,并不需要知道文件格式就能打开它,这个库能够根据文件内容自动确定文件格式。若要保存文件,则使用 Image 类的 save() 方法,此时保存文件的文件名就变得十分重要了,除非你指定格式,否则这个库将会以文件名的扩展名作为格式保存

    @zhangziju
    from PIL import Image
    im = Image.open("E:\mywife.jpg")
    print(im)
    im.save("E:\mywife.png")     ## 将"E:\mywife.jpg"保存为"E:\mywife.png"
    im = Image.open("E:\mywife.png")  ##打开新的png图片
    print(im.format, im.size, im.mode)

    如下图,在指定路径下可看到新保存的png格式的图片。
    新的png图片
    此时在查看Python的输出信息

    PNG (750, 560) RGB

    通常而言,save用以保存一个临时的image对象到硬盘。而转换工作由一个功能更为强大的convert()方法来完成。convert()是将图像转换格式的类。

    @zhangziju
    from PIL import Image
    im = Image.open("E:\mywife.jpg")
    new_im = im.convert('L')               ##可以看到“L”模式的我老婆,即黑白模式
    new_im.show()                          ##用以显示

    “L”模式的gakki,同理,可转换其余几种格式,此处略去。

    黑白

    裁剪、复制、合并等操作

    首先引入box的概念,box变量是一个四元组(左,上,右,下)。用来表示在原始图像中截取的位置坐标,如box(100,100,200,200)就表示在原始图像中以左上角为坐标原点,截取一个100*100(像素为单位)的图像,为方便理解,如下为示意图box(b1,a1,b2,a2)。作图软件为Visio2016。
    box区域示意图

    @zhangziju
    from PIL import Image
    im = Image.open("E:\mywife.jpg")
    box = (300, 100, 700, 700)              ##确定拷贝区域大小
    region = im.crop(box)                   ##将im表示的图片对象拷贝到region中,大小为box
    region.show()

    如下图为box截取的图像区域显示。

    box区域图
    crop函数带的参数为(起始点的横坐标,起始点的纵坐标,宽度,高度)。paste函数的参数为(需要修改的图片,粘贴的起始点的横坐标,粘贴的起始点的纵坐标)。(待补充)

    @zhangziju
    from PIL import Image
    im = Image.open("E:\mywife.jpg")
    box = (300, 100, 700, 700)
    region = im.crop(box)
    region = region.transpose(Image.ROTATE_180) ##将拷贝的小图旋转180度再放入region中
    im.paste(region, box)                       ##粘贴box大小的region到原先的图片对象中。
    im.show()

    box = im.copy( ) #直接复制图像

    如下图所示为旋转和粘贴操作。

    粘贴截取图形

    几何变换

    Image类有resize()、rotate()和transpose()、transform()方法进行几何变换,用以重定义图片大小,对图片进行旋转等操作。

    @zhangziju
    from PIL import Image
    im = Image.open("E:\mywife.jpg")
    region = im.resize((400, 400))     ##重新设定大小
    region.show()

    很明显由于大小的重新设定,图片的显示效果有所转变,gakki依然美腻~
    设定大小
    还可以做以下操作:

    @zhangziju
    im.rotate(45)                             #逆时针旋转 45 度角。
    im.transpose(Image.FLIP_LEFT_RIGHT)       #左右对换。
    im.transpose(Image.FLIP_TOP_BOTTOM)       #上下对换。
    im.transpose(Image.ROTATE_90)             #旋转 90 度角。
    im.transpose(Image.ROTATE_180)            #旋转 180 度角。
    im.transpose(Image.ROTATE_270)            #旋转 270 度角。

    图像滤波

    图像滤波在ImageFilter 模块中,在该模块中,预先定义了很多增强滤波器,可以通过filter( )函数使用,预定义滤波器包括:BLUR、CONTOUR、DETAIL、EDGE_ENHANCE、EDGE_ENHANCE_MORE、EMBOSS、FIND_EDGES、SMOOTH、SMOOTH_MORE、SHARPEN。其中BLUR就是均值滤波,CONTOUR找轮廓,FIND_EDGES边缘检测,使用该模块时,需先导入。还有其他功能强大的滤波效果,此处略。

    @zhangziju
    from PIL import Image
    from PIL import ImageFilter                         ## 调取ImageFilter
    imgF = Image.open("E:\mywife.jpg")
    bluF = imgF.filter(ImageFilter.BLUR)                ##均值滤波
    conF = imgF.filter(ImageFilter.CONTOUR)             ##找轮廓
    edgeF = imgF.filter(ImageFilter.FIND_EDGES)         ##边缘检测
    imgF.show()
    bluF.show()
    conF.show()
    edgeF.show()

    滤波处理下的gakki~

    滤波

    图像增强

    Pillow中的图像增强函数主要在ImageEnhance模块下,通过该模块可以调节图像的颜色、对比度和饱和度和锐化等。ImageEnhance模块的接口所有的增强类都实现了一个通用的接口,包括一个方法:

    enhancer.enhance(factor) ⇒ image

    该方法返回一个增强过的图像。变量factor是一个浮点数,控制图像的增强程度。变量factor为1将返回原始图像的拷贝;factor值越小,颜色越少(亮度,对比度等),同时对变量facotr并没有限制。

    Color类

    颜色增强类用于调整图像的颜色均衡,该类实现的增强接口如下:

    ImageEnhance.Color(image) ⇒ Color enhancer instance

    创建一个增强对象,以调整图像的颜色。增强因子为0.0将产生黑白图像;为1.0将给出原始图像。

    @zhangziju
    from PIL import Image
    from PIL import ImageEnhance
    imcor=Image.open("E:\mywife.jpg")
    im_01 = ImageEnhance.Color(imcor).enhance(0.1)
    im_10 = ImageEnhance.Color(imcor).enhance(1.0)
    im_30 =ImageEnhance.Color(imcor).enhance(3.0)
    im_01.show()
    im_10.show()
    im_30.show()

    如下图为ImageEnhance.Color(image)在取值0.1、1.0和3.0时的效果图。

    cor

    Brightness类

    亮度增强类用于调整图像的亮度,该类实现的增强接口如下:

    ImageEnhance.Brightness(image)⇒ Brightnessenhancer instance

    创建一个调整图像亮度的增强对象。增强因子为0.0将产生黑色图像;为1.0将保持原始图像。

    @zhangziju
    from PIL import Image
    from PIL import ImageEnhance
    imbri =Image.open("E:\mywife.jpg")
    im_02 = ImageEnhance.Brightness(imbri).enhance(0.2)
    im_08 = ImageEnhance.Brightness(imbri).enhance(0.8)
    im_20 = ImageEnhance.Brightness(imbri).enhance(2.0)
    im_02.show()
    im_08.show()
    im_20.show()

    如下图为ImageEnhance.Brightness(image)在取值0.2、0.8和2.0时的效果图。

    bri

    Contrast类

    对比度增强类用于调整图像的对比度。该类实现的增强接口如下:

    ImageEnhance.Contrast(image) ⇒ Contrast enhancer instance

    创建一个调整图像对比度的增强对象。增强因子为0.0将产生纯灰色图像;为1.0将保持原始图像。

    @zhangziju
    from PIL import Image
    from PIL import ImageEnhance
    imcon =Image.open("E:\mywife.jpg")
    im_02 = ImageEnhance.Contrast(imcon).enhance(0.2)
    im_08 =ImageEnhance.Contrast (imcon).enhance(0.8)
    im_20 =ImageEnhance.Contrast (imcon).enhance(2.0)
    im_02.show()
    im_08.show()
    im_20.show()

    如下图为ImageEnhance.Contrast(image)在取值0.2、0.8和2.0时的效果图。

    con
    同样的还有Sharpness锐度增强类用于调整图像的锐度。此处略。

    展开全文
  • 文件格式、后缀名、图片格式详解

    千次阅读 2019-03-12 08:51:19
    .acm:音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能 .aif:声音文件,支持压缩,可以使用WindowsMediaPlayer和QuickTimePlayer播放 .AIF:音频文件,使用WindowsMediaPlayer播放 .AIFC:...
  • 用matlab对图像进行二值化

    万次阅读 2019-04-27 22:12:16
    %读取图像 thresh = graythresh(I) %自动确定二值化阈值; A=im2bw(I,thresh); % thresh=0.5 表示将灰度等级在128以下的像素全部变为黑色,将灰度等级在128以上的像素全部变为白色。 imshow(A) ...
  • BMP(图像文件格式(Bitmap))

    千次阅读 2014-08-18 15:41:56
    BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP...
  • Matlab函数 imfinfo 可以获取图像文件的文件名、文件格式、图像大小、图像类型、数据类型等信息 imfinfo 函数返回结构数组基本都包含这九个结构成员: 结构数组成员名 所代表含义 Filename 文件名称 ...
  • opencv SVM图像分类工程文件

    千次下载 热门讨论 2015-07-30 08:37:40
    由于不同的执行阶段中间结果有很多个,例如:训练图片聚类后所得到单词表矩阵,svm分类器的训练的结果等,中间结果的产生是相当耗时的,所以在刚开始就考虑到第一次运行时候把他以文件XML的格式保存下来,下次使用到...
  • DICOM文件格式剖析(初识)

    千次阅读 2019-10-02 01:19:18
    DICOM文件格式剖析(初识) 初识DICOM文件,发现网上的资料有点少,大部分的资料都是一些简单的解析,近期在开发对DICOM文件进行操作的封装类,读取磁盘的数据来分析dcm文件的具体存储格式,在这里总结一下 复杂的...
  • matlab GUI读取图像文件

    千次阅读 2018-09-14 21:28:14
    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: ...导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I...
  • TIFF图像文件格式详解(1)

    万次阅读 2011-05-24 22:03:00
    做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, 任何其他的图像格式都能为TIFF所用, 嵌入到TIFF里面。比如...
  • bmp图像文件格式说明

    千次阅读 2012-04-16 15:40:08
    bmp图片文件包含4个部分数据,位图文件头,位图信息头,颜色表和位图数据(即RGB值)。 在看位图格式之前先看一个问题,如果每个像素都用前面的24位色去表示,那么一个像素值需要3个字节数据,24位色也称为真彩色,...
  • 下面将加载的JPEG格式的图片通过改变imread函数的参数将其读入为灰度图像,在这个过程中会丢失色彩信息。将有多通道变为单通道图片。 import cv2 I=cv2.imread(‘tu.jpg’,cv2.IMREAD_GRAYSCALE) #此时的参数...
  • 常见三种医学图像格式

    千次阅读 2019-03-10 14:00:05
    以下关于用python库读入三类文件 DICOM pydicom import pydicom as dicom #将每一个DICOM文件读入到slices slices = [dicom.read_file(path+"\\"+s) for s in os.listdir(path) if s.endswith("...
  • BMP文件格式详解(BMP file format)

    万次阅读 多人点赞 2018-09-11 14:23:11
    BMP格式详解 BMP文件格式详解(BMP file format) ...BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以...
  • matlab人脸识别论文

    万次阅读 多人点赞 2019-10-11 17:41:51
    该系统首先利用离散小波变换获取包含人脸图像大部分原始信息的低频分量,对图像数据进行降维;再由PCA算法对人脸图像进行主成分特征提取,进--步降低图像数据的处理量;最后使用经过训练后的BP神经网络对待测人脸进行...
  • 基于支持向量机的图像分类(下篇:MATLAB实现)

    万次阅读 多人点赞 2018-04-11 00:19:20
    摘要:本文通过图文详细介绍如何利用支持...点我下载:SVM图像分类的MATLAB完整程序及图片集文件 1. 前言 机器学习是人工智能研究发展到一定阶段的必然产物。二十世纪八十年代是机器学习成为一个独立学...
  • JPG(JPEG) JPEG 图片以 24 位颜色存储单个光栅图像。...但是,文件大小是以图像质量为代价的。压缩比率可以高达 100:1。(JPEG 格式可在 10:1 到 20:1的比率下轻松地压缩文件,而图片质量不会下降。)JPEG压缩可...
  • DNG图像文件的解码

    千次阅读 2018-04-02 19:34:07
    最近在研究的一个项目中原始图像为dng格式的,网上百度,谷歌了一大圈不知道怎么解析该文件。 基于在网上学习和了解的,只知道dng文件是基于tiff 6.0规范,也就是tiff文件的一些规范,dng也都遵守,在网上搜了很多...
  • 1.下载python 2.下载pycharm 3.将python目录下的.script文件路径配置到系统环境PATH中,重启,就可以使用pip命令了 4.到\Python38\Lib\site-packages目录下安装pydicom库
  • CT的原始图像.dcm文件的读取

    千次阅读 2019-10-14 11:41:02
    在做CT图像的深度学习研究时,需要用到大量的CT数据,我从TCIA上下载的CT图像是.dcm文件的,每个.dcm文件代表一个slice,如图所示,下载的是Head-neck数据, 用matlab读取时,使用到dicomread()函数,如下 ...
  • 功能说明:将DICOM格式文件以下简称dcm文件)转化为NIFTI格式文件(以下简称nii文件)。 其中,医院拿到的dcm文件又分为不同的图像(T1 T2 DWI ADC等),读取dcm文件后,需要读取其中信息,判断其图像类型,选择...
  • BMP文件格式详解

    万次阅读 2018-08-21 15:22:25
    BMP文件格式详解(BMP ...BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成...
  • 将 Graphviz .dot 文件转换为其他格式图像 在Linux系统下,使用以下命令: dot -Tpdf filename.dot -o outfile.pdf 其中,通过-Tpdf和-o参数指定输出文件名及格式。 此外,在Windows系统下可以通过GVEdit工具转换...
  • 如何在Windows 10上打开RAW图像文件

    千次阅读 2020-09-22 05:35:33
    它支持数百种文件格式,包括大多数RAW图像。 PhotoPea features exposure control, curve adjustments, levels, brightness, filters, and numerous brushes, layers, wand, healing tools to choose. You can even...
  • 01 BMP图像文件格式

    千次阅读 2009-08-17 15:38:00
    http://book.csdn.net/bookfiles/943/10094329495.shtml 分析未知文件数据结构格式时需要熟悉不同文件类型的一种或多种该类公开文件的数据存储格式,因为通常情况下未知文件数据结构格式很可能是在公开的文件格式上...
  • 医学图像之DICOM格式解析

    千次阅读 2019-07-12 17:23:45
    前面转载:医学图像之DICOM格式解析 医学图像之DICOM格式解析 目录 1.医学影像学的介绍 2.DICOM信息的简介 3.DICOM内部信息详解(DICOM Tag与VR) 4.利用python+pydicom这个库解析DICOM文件 5.DICOM的三个切面 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 210,063
精华内容 84,025
关键字:

以下属于图像文件格式的是