• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-01-11
  • 语言: 其他
  • 标签: pgm文件  

资源简介

本代码用于读取pgm文件,因本人所用的pgm文件都是19*19的,所以直接将IMAGE_WIDHT和IMAGE_HEIGHT两个宏设置成了19,如果读者在用的时候,发现大小不一致的,请自行修改

资源截图

代码片段和文件信息

////////////////////////////////////////////////////////////
/* pgm 文件格式
每一个PGM 图像由以下部分组成:

- 一个“magic number“它是用来标定文件格式的. pgm的magic number是“P5“.
- 空白区域(空格TAB回车换行)
- 图象宽 十进制ASCII码
- 空白区域
- 图象高 十进制ASCII码
- 空白区域
- 最大灰度值(Maxval) 十进制ASCII码.必须小于65536
- 新一行或另一个空白区域符
- 空栅化的一副宽*高的灰度值图象. 每个灰度值取值是从0到Maxval 0表示黑而Maxval表示白.每个灰度值用1-2个字节表示.如果
     Maxval小于256那行就是一个字节否则为两个字节.最大字节(most significant byte)开始
- 每个灰度值是表示当前象素值在CIE Rec.709伽马校正之后的密度值. 
- 一个很普遍的PGM格式替代格式就是线性灰度值(不经过伽马校正) pnmgamma以这样的一个pgm文件为输入输出一个标准的pgm文件
- #符号之后的一行为注释行会被省略.
- 每个象素的光栅值表示为一个十进制ASCII码值.
- 每个象素的光栅值前后各有一个空格. 这样两个象素之间将有大于等于1个空格.
- 每行不超过70个字.

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  

评论

共有 条评论

相关资源