使用ImageJ转换图像格式

时间:2017-02-20 11:27:32

标签: java imagej

我使用以下代码将图像从fit格式转换为jpeg格式

  ImagePlus fitsImage = openImage(fitsImagePath);
  final File out = new File(fullPath +  fileNameNoExt + ".jpg");           
  BufferedImage jpgImage = fitsImage.getBufferedImage();           
  ImageIO.write(jpgImage, "jpg", out);       

实际的格式更改正在运行,我确实得到了jpg文件,但问题是生成的文件是黑白的,我知道我正在使用的图像是彩色的。

所以问题是我应该怎么做才能使得到的图像变色。

欢呼声,

ES

1 个答案:

答案 0 :(得分:1)

由于某种原因,getBufferedImage()函数仅以8位格式复制数据。由于我不熟悉拟合格式,它具有什么像素深度以及数据具有的像素深度?

如果您使用红色,绿色或蓝色进行8位错误导入,则导出时将保持其8位灰度而不是假色。

如果您希望它保持其rgb,您必须在导出之前将其转换为rgb格式。

功能命令flatten可能有帮助,因为它会将图片转换为RGB格式

 fitsImage.flatten()