PGM图像读取与存储(C语言)
01 图片格式介绍
PGM是一种灰度图像的存储格式,下分P5和P2两种类型;P2以ASCII码形式存储,P5以二进制形式存储。
图片由两部分数据组成,一部分是文件头部分(包含图片类型、图片宽度、图片高度以及灰度的可能最大值),一部分是数据部分(记录了每个像素点的灰度)
比如,下图是一张P2格式的PGM图像(可以用记事本打开)
再比如,以下是P5格式图片
虽然P5的打开是乱码,但是它的文件头部分是数字。(可以利用该点判断图片是什么格式,以及获取图片大小)
【linux系统下,图片可以直接查看;windows系统下可以通过PS软件打开。】
可以利用struct对PGM格式进行封装,如下: