我使用以下代码将图像从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
答案 0 :(得分:1)
由于某种原因,getBufferedImage()函数仅以8位格式复制数据。由于我不熟悉拟合格式,它具有什么像素深度以及数据具有的像素深度?
如果您使用红色,绿色或蓝色进行8位错误导入,则导出时将保持其8位灰度而不是假色。
如果您希望它保持其rgb,您必须在导出之前将其转换为rgb格式。
功能命令flatten可能有帮助,因为它会将图片转换为RGB格式
fitsImage.flatten()