使用 ImageJ 转换图像格式

converting an image format with ImageJ

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

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

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

所以问题是我应该怎么做才能使生成的图像着色。

干杯,

es

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

如果您导入的是红色、绿色或蓝色的假色 8 位,那么当您导出时它将保持其 8 位灰度而不是假色。

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

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

 fitsImage.flatten()