我有float [] [],其中每个成员在[0..1]中都有一个值
这表示灰度图像的像素图。
如何将float转换为RGB值?
最佳答案
要记住的是,在灰色RGB图像中,红色,绿色和蓝色像素值都相同。
因此,将每个像素乘以255并使其为整数,然后将其存储为PPM文件,该文件的格式非常简单,描述为here。
基本上,如果您的浮动像素为0.5,您将获得127,然后将其写入3次(一次为红色,一次为绿色,一次为蓝色)到PPM文件中。开头的标头很简单,只是
P6
<columns> <rows>
255
RGBRGBRGRGBRGBRGB...
拥有PPM图像后,可以使用ImageMagick或Photoshop将其转换为JPEG或PNG或任何您喜欢的图像。
如果您使用“ .pgm”扩展名,将第一行保存为“ P5”而不是“ P6”,并且只写入每个像素一次,而不是为R重复3次,那会更快并且只占用三分之一的空间。 ,G和B ....,但您想要RGB。