• 图片格式PGM缩写


      PGM是Portable Gray Map的缩写。它是灰度图像格式中一种最简单的格式标准。另外两种与之相近的图片格式是PBM和PPM。它们分别相应着黑白图像和彩色图像。

    PGM的数据存放方式相比于JPG来说是非常easy的,由于它不进行数据压缩。自然的PGM的图片的大小也就比較大了。一个120*128 8-bit的灰度图像,PGM的大小是44kb,而将这个图片转化为JPG格式后。大小仅为4kb。

    所以。在日常各种网络应用中你是非常难见到PGM图片的,它太浪费流量了。

      PGM的数据格式就像上面说的,PGM是不进行数据压缩的,那么自然的。它的格式就非常直观了。你能够直接用一个记事本打开它,只是记事本打开后换行没了。不好看,以下是打开的格式:

    P5
    24 7
    15
    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
    0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
    0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
    0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

      数据格式的解析:

    首先。以一个“Magic Number”来标识图片格式,这个magic number是P5,不能是p5。或者P 5;

    然后。第二行是图片宽度、图片高度,在上图中是24和7。

    第三行是这个图片数据的最大值。上图中是15;

    最后,就是图片的像素数据值了。这些数据是以“row-major order”存放的,即是说按行存放的。当然,你认真看上图的话会发现,从第4行開始,每行都仅仅有16个数据,默认情况下。每行长度不能超过70个字符,可是详细几个并没有要求,一种安全的做法是每行存放一个像素。 

    在有些PGM图片你可能会看到以#开头的行。这个是comment,比方说用#linjianmin.pgm来表示图片名称。

  • 相关阅读:
    微信小程序与Html交互
    vue plupload 的使用
    mac 使用远程连接
    ajax 设置Access-Control-Allow-Origin实现跨域访问
    javascript取模运算是怎么算的?其实是取余数
    [G]Java获取泛型T的类型 T.class
    [G]java反射获得泛型参数getGenericSuperclass()
    Java中的Type类型详解
    利用ParameterizedType获取泛型参数类型
    Type类型详解
  • 原文地址:https://www.cnblogs.com/dylancao/p/9650428.html
Copyright © 2020-2023  润新知