Image -> 2D Array (int [][])

Vintner

Mitglied
Hallo,

weiß jemand wie ich ein (Buffered-)Image-Objekt, das ich aus einer JPEG-Datei gewonnen habe, in ein 2D-Array speichern kann. Später sollen dann verschiedene Filter über das Array laufen.

Viele Grüße
 

AlexSpritze

Bekanntes Mitglied
In der Art und Weise:

Java:
BufferedImage image = ...
int[][] array = new int[image.getWidth()][image.getHeight()];
for(int i = 0 ; i < image.getWidth(); i ++)
for(int j = 0 ; j < image.getHeight(); j++)
array[i][j]=image.getRGB(i,j);

In dem Array hast du dann jeden Pixel, der als Integer-Wert repräsentiert ist, entsprechend des Typs des BufferedImages.
 
D

Dow Jones

Gast
Denkbar wäre auch der Aufruf von
Java:
myBufferedImage.getRaster().getPixel(int x, int y, int w, int h, int[] iArray);
Was anschließend in dem Array drin steht hängt allerdings, soweit ich mich erinnere, vom ColorModel ab (und dieses hängt wiederum vom ColorSpace ab). Müsstest du mal nachschlagen, wie das genau zusammenhängt, und was ein JPEG so für BufferedImages produziert...
 

Marco13

Top Contributor
Am besten das Image einmal am Anfang in ein BufferedImage.TYPE_INT_ARGB reinzeichnen, und dann sowas wie
Java:
    /**
     * Returns the data of the given image as an int[] array.
     * The image must have the type BufferedImage.TYPE_INT_ARGB,
     * BufferedImage.TYPE_INT_BGR or BufferedImage.TYPE_INT_RGB. 
     * For other types, an IllegalArgumentException will be thrown.
     * 
     * @param image The image
     * @return The data of the image.
     * @throws IllegalArgumentException If the image does not have
     * a DataBufferInt.
     */
    private static int[] getDataArray(BufferedImage image)
    {
        Raster raster = image.getRaster();
        DataBuffer dataBuffer = raster.getDataBuffer();
        if (!(dataBuffer instanceof DataBufferInt))
        {
            throw new IllegalArgumentException(
                "Image does not have a DataBufferInt");
        }
        DataBufferInt dataBufferInt = (DataBufferInt)dataBuffer;
        int data[] = dataBufferInt.getData();
        return data;
    }

Ist zwar nur ein 1D-Array, aber für die Verwendung macht ja keinen großen Unterschied, und dürfte für Bildmanipulationen das schnellste sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
G Kompletten (image) Array löschen Java Basics - Anfänger-Themen 14
lin Image pixelweise in 3D Array laden Java Basics - Anfänger-Themen 4
G Area mit Teil-Image füllen Java Basics - Anfänger-Themen 0
B Image Matching in Memory Minigame Java Basics - Anfänger-Themen 7
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
Butzibu Image Loader lädt nicht alle Bilder: Java Basics - Anfänger-Themen 4
T Image Icon Java Basics - Anfänger-Themen 3
K File (png) in Image laden Java Basics - Anfänger-Themen 3
M Image löschen Java Basics - Anfänger-Themen 2
G Image in Vordergrund Java Basics - Anfänger-Themen 3
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
S Image Datei selektieren und in Projekt Verzeichnis abspeichern/kopieren Java Basics - Anfänger-Themen 16
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
H Image laden Java Basics - Anfänger-Themen 4
R Image drehen Java Basics - Anfänger-Themen 1
R Image Teilen Java Basics - Anfänger-Themen 3
B Image laden im GridBagLayout Java Basics - Anfänger-Themen 3
N Image von Resource wird nicht geladen Java Basics - Anfänger-Themen 2
F Image wird nicht gezeichent?! Java Basics - Anfänger-Themen 21
N Hintergrund image mit .setContentPane Java Basics - Anfänger-Themen 6
W aus Methode auf JLabel zugreifen und Image verändern Java Basics - Anfänger-Themen 1
S buffered image Java Basics - Anfänger-Themen 18
V Scale displayed Image via JCheckBox Java Basics - Anfänger-Themen 1
I Resize Image - Einlesen von InputStream Java Basics - Anfänger-Themen 3
M Image Download klappt nicht mehr Java Basics - Anfänger-Themen 4
Chava Testprojekt.Text.Image.Button Java Basics - Anfänger-Themen 4
S Image nach MausMotion rotieren Java Basics - Anfänger-Themen 7
L Erste Schritte Java Image und Video-Slideshow GUI Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
S Image in Panel laden Java Basics - Anfänger-Themen 12
H Prüfen, ob jpg image schon vorhanden ist, bevor es geladen wird Java Basics - Anfänger-Themen 13
V Image Crawler Java Basics - Anfänger-Themen 3
P Erste Schritte Buffered Image splitten und darstellen Java Basics - Anfänger-Themen 2
P Erste Schritte Image anzeigen in ausführbarer jar mit der Toolkit class Java Basics - Anfänger-Themen 8
T udp -> bytearray -> image -> ausgabe via frame Java Basics - Anfänger-Themen 6
A Image (Bitmap) in String (für XML) Java Basics - Anfänger-Themen 7
F Buffered Image über Socket versenden Java Basics - Anfänger-Themen 6
T Image ist Null - warum? Java Basics - Anfänger-Themen 18
L Image laden und auf jPanel ausgeben Java Basics - Anfänger-Themen 7
V FileInputStream auf ein swt.Image Java Basics - Anfänger-Themen 6
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
F Image übertragen und zeichnen Java Basics - Anfänger-Themen 8
G Problem mit Image.IO.read( File ) Java Basics - Anfänger-Themen 3
G Image spiegeln Java Basics - Anfänger-Themen 17
Y Trotz add wird Image in GradBagLayout nicht angezeigt Java Basics - Anfänger-Themen 5
Spin Image helper Java Basics - Anfänger-Themen 6
M Image Metadaten setzen Java Basics - Anfänger-Themen 2
Spin Backgrond Color von Image ermitteln Java Basics - Anfänger-Themen 2
C Image draw... Java Basics - Anfänger-Themen 7
M Image-Icon Ändern Java Basics - Anfänger-Themen 15
J Image upload auf ImageShack,TinyPic usw. Java Basics - Anfänger-Themen 11
R Image laden die Zweite Java Basics - Anfänger-Themen 4
R Image laden Java Basics - Anfänger-Themen 10
M Image zeichenen mit Double Werten Java Basics - Anfänger-Themen 4
B polyline auf buffered image malen Java Basics - Anfänger-Themen 2
G Image to File Java Basics - Anfänger-Themen 4
T Image Position erkennen Java Basics - Anfänger-Themen 6
Spin Image skalieren Java Basics - Anfänger-Themen 2
Spin Background Image Java Basics - Anfänger-Themen 2
K Image / drawImage Java Basics - Anfänger-Themen 2
P Buffered Image, Bereich ausschneiden Java Basics - Anfänger-Themen 3
F Image Editor Java Basics - Anfänger-Themen 2
R Image aus jar laden (dieses mal awt) Java Basics - Anfänger-Themen 19
B Image flimmert Java Basics - Anfänger-Themen 4
Povlsen84 Image exakt erzeugen Java Basics - Anfänger-Themen 5
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
X ARGB Werte auslesen aus Image Java Basics - Anfänger-Themen 2
O Image Loader laedt bild nicht Java Basics - Anfänger-Themen 11
H String to image! Java Basics - Anfänger-Themen 6
H2SO3- image beim awt frame wegmachen Java Basics - Anfänger-Themen 2
M Probleme mit Manifest und Image Java Basics - Anfänger-Themen 2
T Java Bilderverwaltung - Image Fetcher Problem Java Basics - Anfänger-Themen 4
E Image in Datei speichern bzw anzeigen Java Basics - Anfänger-Themen 5
G Image laden Java Basics - Anfänger-Themen 16
O Drag & Drop mit Image? Java Basics - Anfänger-Themen 2
G Image/-Icon wird nicht auf JPanel angezeigt Java Basics - Anfänger-Themen 4
M Image aus JPanel Java Basics - Anfänger-Themen 2
P Fileinputstream to image? Java Basics - Anfänger-Themen 3
G Image Problem Java Basics - Anfänger-Themen 5
G Image Java Basics - Anfänger-Themen 3
M draw.Image Java Basics - Anfänger-Themen 11
O Image laden Java Basics - Anfänger-Themen 6
G Image Java Basics - Anfänger-Themen 2
S Image-Datei mit relativem Pfad angeben Java Basics - Anfänger-Themen 3
S Botton und Image kombinieren Java Basics - Anfänger-Themen 3
S import javax.image.io.*; funktioniert nicht Java Basics - Anfänger-Themen 28
D Image drehen Java Basics - Anfänger-Themen 6
DeeDee0815 Uncaught error fetching image Java Basics - Anfänger-Themen 2
A Image erstellen Java Basics - Anfänger-Themen 3
N Grösse eines Image ändern? Java Basics - Anfänger-Themen 4
I Image Dateinformationen auslesen Java Basics - Anfänger-Themen 7
A image uploader applet Java Basics - Anfänger-Themen 10
S image speichern Java Basics - Anfänger-Themen 12
D ImageIO metadata auslesen aus png image Java Basics - Anfänger-Themen 2
G Ausmaße eines Image-Object herrausfinden Java Basics - Anfänger-Themen 4
R Einem Image-Object Alpha-Transparenz hinzufügen Java Basics - Anfänger-Themen 3
S Image in byte[] umwandeln? Java Basics - Anfänger-Themen 2
G Ein Image langsam einblenden und nach 5 Sekunden ausblenden? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben