Image RGB Werte auslesen und vergleichen

BRoll

Bekanntes Mitglied
Also ich hab grad ein Problem mit dem auslesen
von RGB Werten bei Images.

Ich möchte von jedem Pixel des Bilds die Farbe auslesen,
und mit einer definierten Farbe vergleichen.
Es soll also so eine Vorlage sein, aber es funktioniert nicht richtig.

Java:
	Image m=Toolkit.getDefaultToolkit().getImage( filename );		
	   
		BufferedImage map=new BufferedImage(900,679,BufferedImage.TYPE_INT_RGB); 
		map.getGraphics().drawImage(m,0,0,null);
	
		for(int i=0; i<900; i++)
		{
			for(int h=0; h<679; h++)
			{
				int rgb=map.getRGB(i, h);
		      
		if(rgb==new Color(0,0,255).getRGB())
				{
					//Blau
				} 
		
}         

 }

Die Pixel sind definitiv alle von der Farbe: 0,0,255, habs mit PS
mehrmals überprüft. Hab mit dem Bild auch schon als PNG,
Gif usw getestet.

Wenn ich mir jetzt die Werte ausgeben lasse, erhalte ich immer:

Pixel:
-16777216
Farbe:
-16776961

Woher kommt diese (kleine) Ungenauigkeit?

Wenn ich es andersrum mache, also so:
Java:
Color c=new Color(rgb);
if(c.getBlue()=255&&c.getRed()==0&&c.getGreen()==0)
{
}
dann gehts auch nicht. Bei der Variante
erhalte ich für alle 3 Werte 0.
Also Rot=0, Grün=0, Blau=0.


Jetzt bin ich ein bisschen verwirrt.

Weiß jemand von euch was ich falsch mache?

Und das Bild hat auch kein Alphakanal, wenn ichs aber mit TYPE_INT_ARGB
einlese ist der RGB Wert 0....

???:L
 

Ullenboom

Bekanntes Mitglied
Das sieht so aus, als ob du das Bild komprimiert speicherst, und zwar mit Verlust. JPEG hat Artefakte und da sind die Farben etwas anders.
 

BRoll

Bekanntes Mitglied
Genau deshalb hab ichs als PNG und als GIF gemacht,
beim letzteren explizit mit nur 6 verschiedenen Farben,
darunter eben das 0,0,255.

Hätte ichs als JPG dann wäre es logisch, aber bei den
Datentypen gibts ja so eine Komprimierung nicht.
Deshalb bin ich ja verwirrt. ???:L
 

Ark

Top Contributor
Mal davon abgesehen, dass dein Bild sehr imperformant durchlaufen wird: Bau mal ein paar Debugging-Zeilen ein.
Java:
int rgb=map.getRGB(i, h);
System.out.println(Integer.toHexString(rgb));
Ark
 

BRoll

Bekanntes Mitglied
Mal davon abgesehen, dass dein Bild sehr imperformant durchlaufen wird: Bau mal ein paar Debugging-Zeilen ein.
Java:
int rgb=map.getRGB(i, h);
System.out.println(Integer.toHexString(rgb));
Ark


Das hab ich ja bei mir im Code, wenn ich hier poste
stören solche Debug Infos aber.

Sonst hätte ich euch die Werte ja garnicht nennen können, oder? :)

Also in HEX angegeben wäre die Farbe 0, also Schwarz.
Das sieht eher nach einem Lese Fehler des Bildes aus,
obwohl ich vorher mir das Bild ausgeben lasse.
Scheint als wäre das BufferedImage noch leer, also Schwarz.
 

BRoll

Bekanntes Mitglied
Gibt es einen Grund, warum du nicht ImageIO benutzt?

Ark


Was war das nochmal? :D

Nein also mit ImageIO schreibe ich immer Bilder,
aber lesen hab ich mir angewohnt mit Toolkit.
Ich weiß nicht ich kam mit den Pfaden nicht zurecht,
wie ich das mit ImageIO korrekt einlese weiß ich grad nicht.

Und das andere hat bis jetzt immer funktioniert, bloß das Bild will er nicht xD
 

BRoll

Bekanntes Mitglied
Ok sry Leute, habs jetzt hinbekommen...

Ich kann immer noch nicht genau sagen worans lag,
aber habs jetzt einfach komplett neu gemacht.

Also Neues Projekt, da die Klasse rein, schön ein Frame erstellt,
dann Bild eingelesen, wenns Bild geladen wurde dann anzeigen,
und dann die Berechnung machen.

Dann gings auch.

Also lag am Ladevorgang und nicht am Bild selber oder sonstwas.

Ich war bloß mal wieder zu schnell....;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
Y Wie bekomme ich durch getImage an das Image heran? Allgemeine Java-Themen 1
J jsch direktes streamen in ein image Allgemeine Java-Themen 11
A 2D-Grafik Einfachster Ansatz, um sich wiederholende Figur in einem 2D-Image zu erkennen Allgemeine Java-Themen 1
T 2D-Grafik Chart als Image erstellen Allgemeine Java-Themen 3
G Image in Shape wandeln Allgemeine Java-Themen 1
T Swing Image rotieren Allgemeine Java-Themen 1
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
C pfad vom Image ausgeben lassen Allgemeine Java-Themen 5
Bananabert Swing jtree : image als user object Allgemeine Java-Themen 2
M Image auslesen Allgemeine Java-Themen 2
G Pixelanzahl aus Raw Image Datei Allgemeine Java-Themen 1
H OCR und Image Processing Allgemeine Java-Themen 4
M Image für PDF nicht verfügbar - Runnable .jar Allgemeine Java-Themen 3
S BLOB Image in JSP anzeigen Allgemeine Java-Themen 5
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
K Image beim catchen ist immer null Allgemeine Java-Themen 9
X Image Processing libary für JavaSE und Android Allgemeine Java-Themen 2
Crashbreaker RCP-View Image öffnen und darstellen Allgemeine Java-Themen 7
S IMAGE ARRAY laden Allgemeine Java-Themen 6
B Image oder GridControl? Allgemeine Java-Themen 8
B Image Thinning Allgemeine Java-Themen 3
A Input/Output Buffered Image zu Byte Array und zurück konvertieren Allgemeine Java-Themen 4
F Datentypen Floppy-Image-Dateisystem Allgemeine Java-Themen 5
F Image - Ausschnitt bekommen Allgemeine Java-Themen 3
J Teil eines Image/ImageIcon zeichnen Allgemeine Java-Themen 2
N Unable to convolve src image Allgemeine Java-Themen 7
H image in jtextarea/JLabel einbinden... Allgemeine Java-Themen 4
Aigu Bilderkennung / Image Analysis Allgemeine Java-Themen 2
M Nochmal I-Frame zu Image Allgemeine Java-Themen 4
M JPEG Image komprimieren Allgemeine Java-Themen 2
M Probleme mit Image Extraction aus PDF Allgemeine Java-Themen 2
V Image laden - URL über ClassLoader ermitteln Allgemeine Java-Themen 2
G sun.awt.image.OffScreenImage Serializable machen Allgemeine Java-Themen 5
T Image in gif umwandeln Allgemeine Java-Themen 14
G itext größe von image Allgemeine Java-Themen 2
T JPanel to Image? Allgemeine Java-Themen 6
K Image Resizer Allgemeine Java-Themen 4
D Image runterscalieren, aber schlechte Quali? Allgemeine Java-Themen 3
L Buffered Image teilweise zeichnen Allgemeine Java-Themen 6
P Image erzeugen Allgemeine Java-Themen 7
B Image libraries Allgemeine Java-Themen 3
MQue Image über Komponente Allgemeine Java-Themen 3
P Image auf JPanel auf JFrame Allgemeine Java-Themen 3
P Image auf einem Panel mit null-Layout Allgemeine Java-Themen 8
E Image unterscheiden Allgemeine Java-Themen 16
E Image auf einem JLabel darstellen Allgemeine Java-Themen 3
F BufferedImage -> Image Allgemeine Java-Themen 4
E Wie bekomme ich mein Image in das Fenster Allgemeine Java-Themen 2
T Muster/Zeichen/Texterkennung auf einem Image Allgemeine Java-Themen 9
L Linien, Recktecke und Elipsen zeichnen ohne Image Allgemeine Java-Themen 2
T Disk Image Library (iso,mdf,nrg,bin) Allgemeine Java-Themen 6
S KeyListener! Image Problem! Allgemeine Java-Themen 2
S Image als Background Allgemeine Java-Themen 5
B Image(png) versenden Allgemeine Java-Themen 3
N Image -> cropImage Allgemeine Java-Themen 3
T Image mithilfe von DirectColorModel und Pixel erstellen Allgemeine Java-Themen 3
G Image in der Größe ändern Allgemeine Java-Themen 2
C probleme mit image Allgemeine Java-Themen 4
C Pixelfarbe aus einem image auslesen Allgemeine Java-Themen 6
M Image Skalieren Allgemeine Java-Themen 23
D ByteArray für Image-Icon laden. Allgemeine Java-Themen 4
T iso datei (Image) mit Java einlesen und Inhalt entpacken Allgemeine Java-Themen 3
O Image mit transparenten farben wie bei *.GIF ? Allgemeine Java-Themen 3
B Image#getScaledInstance & Graphics2D#drawImage ClassCast Allgemeine Java-Themen 3
H Speicher freigeben klappt nicht bei Image Objekten, warum? Allgemeine Java-Themen 8
H Skalieren von Image -> java.lang.OutOfMemoryError - WARUM Allgemeine Java-Themen 18
T Auf ein Image geklickt Allgemeine Java-Themen 13
J ISO image erzeugen Allgemeine Java-Themen 3
J Wie mache ich den Hintergrund einer Image durchsichtig? Allgemeine Java-Themen 7
G Aus JPanel Image Hohlen Allgemeine Java-Themen 3
D BufferedReader in image umwandeln Allgemeine Java-Themen 3
S Image Datei serializieren Allgemeine Java-Themen 3
G JFrame nimmt mein Image nicht Allgemeine Java-Themen 2
F Image als GIF oder JPEG abspeichern Allgemeine Java-Themen 2
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C In DefaultTableModel nachträglich Werte einfügen Allgemeine Java-Themen 2
rosima26 Unterschiedliche Werte bei return/print Allgemeine Java-Themen 12
berserkerdq2 Kann man in IJVM maximal 3 Werte im Stack haben? Allgemeine Java-Themen 3
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
MiMa Werte in liste speichern? Allgemeine Java-Themen 3
Drachenbauer Wie kann ich einer existierenden Enum von außerhalb veränderte Werte zuweisen? Allgemeine Java-Themen 5
Arif Math.cos liefert komische Werte Allgemeine Java-Themen 8
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
D Erste Schritte Im Array Werte tauschen Allgemeine Java-Themen 5
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
Henrithebegiinerofjava Erste Schritte Werte in Eingabefelder einlesen und wiederholen lassen. Allgemeine Java-Themen 3
I Java: public final Werte: Gute oder schlechte Praxis? Allgemeine Java-Themen 6
S Algorithmus welcher True-Werte in einem Array findet und auswertet. Allgemeine Java-Themen 5
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
J Swing UIManager Werte Allgemeine Java-Themen 6
4 Java 2 ArrayListen Werte herauslesen/übernehmen Allgemeine Java-Themen 4
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
KeVoZ_ int Werte in einen String fassen Allgemeine Java-Themen 4
N Werte aus Hashmap auslesen und übertragen Allgemeine Java-Themen 8
2 mehrere Json Werte Parsen Allgemeine Java-Themen 3
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
B Übergebene Werte in Gerätedatei schreiben Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben