资源简介
本代码用于读取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
评论
共有 条评论