一个非常易于使用的图像库,可以涵盖所有这些格式的读写,FreeImage。它主要是一个C库,但也有C ++等的包装器。
当你说“保存在文本文件中”时,由于二进制格式更紧凑,存储像素强度的原始字符串值,因此这对于图像非常不典型。此外,许多格式使用压缩,这意味着每个像素实际上没有给定的“值”...而是必须先解压缩数据,然后才能为每个像素单独分配一个值。有一些图像格式,例如PPM,可以存储为ASCII数据,但同样,这不一定是存储大图像的最有效方式。
因此,对于您的工作流程,您可以使用类似FreeImage的库来读取图像文件中的值,然后将未压缩的像素值写回PPM文件或自定义 - 格式化文本文件。