2017-02-20 7 views
0

Ich habe die folgenden Code umgewandelt werden, die ich verwende, um ein Bild zu konvertieren von Format JPEG-Format paßtein Bildformat mit ImageJ

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

der tatsächliche Formatwechsel funktioniert und ich habe eine jpg-Datei erhalten, aber die Problem ist, dass die resultierende Datei in schwarz und weiß ist und ich weiß, dass das Bild, das ich verwende, farbig ist.

Also die Frage ist, was ich tun soll, um das resultierende Bild farbig zu machen.

prost,

es

Antwort

1

Aus irgendeinem Grund die getBufferedImage() Funktion nur die Daten in einem Format 8-Bit kopiert wird. Da ich mit dem Fit-Format nicht vertraut bin, welche Pixeltiefe hat es und welche Pixeltiefe haben Ihre Daten?

Wenn Sie in 8-Bit importieren, das mit rotem falsch gefärbt ist, grün oder blau, dann, wenn Sie exportieren es wird seine 8-Bit-Graustufen und nicht die falsche Farbe beizubehalten.

Wenn Sie möchten, dass es seine rgb behält, müssen Sie es vor dem Export in ein rgb-Format konvertieren.

Die Funktion Befehl Flatten könnte helfen, wie es das Bild in ein RGB-Format konvertieren

fitsImage.flatten()