zoukankan      html  css  js  c++  java
  • PPM图像格式(Portable Pixelmap) 分类: VC++ 文件格式 2014-11-25 11:32 513人阅读 评论(0) 收藏

     一种linux图片格式,可用ACDSEE批量转变。它是一种简单的图像格式,仅包含格式、图像宽高、bit数等信息和图像数据。
      图像数据的保存格式可以用ASCII码,也可用二进制,下面列举ppm格式中比较简单的一种:24位彩色、二进制保存的图像。
      文件头+rgb数据:
      P6
    
      width height
    
      255
    
      rgbrgb...
      其中P6表示ppm的这种格式;
    表示换行符;width和height表示图像的宽高,用空格隔开;255表示每个颜色分量的最大值;rgb数据从上到下,从左到右排放。
    PPM灰度文件:
    文件头由3行文本组成,可由fgets读出
    1)第一行为“P2",表示文件类型
    2)第二行为图像的宽度和高度
    3)第三行为最大的象素值255
    接下来是图像数据块。按行顺序存储。每个象素占4个字节,灰度通道为4字节ASCII码表示的整数,
    高字节在前。左上角为坐标原点。
    16位PPM文件:(至少适用于读取由DCRAW生成的PPM文件)
    文件头由3行文本组成,可由fgets读出
    1)第一行为“P6",表示文件类型
    2)第二行为图像的宽度和高度
    3)第三行为最大的象素值
    接下来是图像数据块。按行顺序存储。每个象素占6个字节,依次为红绿蓝通道,每个通道为2字节整
    数,高字节在前。
    PPM彩色文件:
    文件头由3行文本组成,可由fgets读出
    1)第一行为“P3",表示文件类型
    2)第二行为图像的宽度和高度
    3)第三行为最大的象素值255

    接下来是图像数据块。按行顺序存储。每个象素占12个字节,依次为红绿蓝通道,每个通道为4字节 ASCII码表示的整数,高字节在前。左上角为坐标原点。

    另转其他:

    ppm文件的开始为三行ASCII码文本 第一行是:   P6 第二行是图像的大小,先是列象素数,后是行象素数,中间有一空格, 例如320X240的图像,次行为: 320 240 第三行是一个介于1和65525的整数,当然也是文本的,用来表示 每一个象素的一个分量(如红,绿,蓝)用几个比特表示, 1-255 表示一个分量用地比特表示. 每一行的结尾一换行或回车或两者都用表示. 三行文本之后就是图像的数据流,从左到右,从上到下. 如一个320X240的RGB图象,每分量用8比特表示, 文件如下: P6 320 240 255

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    23.java方法的深入
    MapReduce:详解Shuffle过程
    Hadoop1.x与Hadoop2的区别
    进程控制的一些api
    程序的静态链接,动态链接和装载
    用户级线程和内核级线程的区别
    从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)
    海量处理面试题
    面试中的二叉树题目
    linux 进程间消息队列通讯
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706480.html
Copyright © 2011-2022 走看看