将float [] []转换为灰度图像

时间:2014-05-21 19:01:03

标签: java image-processing

我有float [] [],其中每个成员的值都在[0..1]

这表示灰度图像的像素图。

如何将浮点数转换为RGB值?

1 个答案:

答案 0 :(得分:4)

要记住的是,在灰色RGB图像中,红色绿色和蓝色像素值都是相同的。

因此,取每个像素并将其乘以255并生成它的整数,然后将其存储为PPM文件,其格式非常简单here

基本上,如果您的浮动像素为0.5,您将获得127,然后将这3次(一次用于红色,一次用于绿色,一次用于蓝色)写入PPM文件。一开始的标题很简单,只是

P6
<columns> <rows>
255
RGBRGBRGRGBRGBRGB...

获得PPM图像后,您可以使用ImageMagick或Photoshop将其转换为JPEG或PNG或任何您喜欢的颜色。

如果使用&#34; .pgm&#34;它会更快,只占空间的三分之一。扩展,将第一行保存为&#34; P5&#34;而不是&#34; P6&#34;并且只写了一次像素而不是为R,G和B重复该值3次....但是你想要RGB。