2 Stimmen

RenderedImage -> RGB-Werte

Ich verwende eine Schnittstelle von RenderedImage zum Lesen eines TIF-Bildes. Wie kann ich alle rgb-Werte dieses Bildes in einem 2d-Array wie dieses erhalten:

red[0][128] = 120; // means x=0, y=128, red value = 120
// the value 120 is the value I have to determine (and oall other rgb values)!

Weiß jemand davon?

Herzlichen Dank für Ihre Hilfe!

2voto

Abboq Punkte 1101

getData() gibt eine Raster die einen getData() Methode.

Können Sie anrufen YourRenderedImage.getData().getPixel(int x, int y, int iArray[]) um Ihre RGB-Werte zu erhalten?

JavaDoc: Liefert die Muster in einem Array von int für den angegebenen Pixel. Eine ArrayIndexOutOfBoundsException kann ausgelöst werden, wenn die Koordinaten nicht innerhalb der Grenzen liegen.

Raster.getPixel() - JavaDoc

Ich glaube, die Elemente, die von der int Array darstellen: Rot, Grün, Blau, Alpha und Hex-Schlüssel, aber ich weiß es nicht genau.

0voto

trashgod Punkte 199887

Wie Abboq Ich dachte, du wolltest den Weg durch die Raster was funktionieren sollte. Alternativ können Sie auch Folgendes verwenden BandSelect um jedes der drei gewünschten Bänder zu erhalten.

RenderedImage[] dst = new RenderedImage[3];
int[] bandIndices = new int[1];
for (int i = 0; i < 3; i++) {
    bandIndices[0] = i;
    pb = new ParameterBlock();
    pb.addSource(src);
    pb.add(bandIndices);
    dst[i] = (RenderedImage) JAI.create("bandSelect", pb);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X