Image unterscheiden

Status
Nicht offen für weitere Antworten.

e9926044

Bekanntes Mitglied
Hallo,

ich habe für meine Applikation 2 Bilder die ich laden kann. Abhängig von diesen 2 Bilder lade ich ein weiteres.
Mein Problem ist jetzt, dass sich die Bilder nur im rechten unteren Eck unterscheiden.
Hat vielleicht jemand eine Idee, wie ich das in meinem Programm abfragen kann, welches Bild es ist.

Kann ich mir in meinem Programm das rechte untere Eck von den Farben her anschauen und dann sagen, wenn dieses rechte Eck weiß ist dann ist es das eine Bild und sonst das andere.
Geht das überhaupt?

Vielen DANK !!

lg
Hannes
 
Klar geht das! Wie sonst funktioniert Bilderkennung???

Da die Bilder aber bestimmt in einer von die entwickelten Applikation angezeigt werden, ist es um einiges leichter, sich einfach im Programm z.B. über ein WrapperObjekt zu merken welches Bild welches ist !!!
 
Kann mir vielleicht jemand sagen, wie ich aus einem .png einzelne Pixel lesen kann und dann eben vergleichen?

Vielen DANK!!

lg

Hannes
 
lad die doch einfach als Image, dann haste für jedes bild ein anderes objekt...
 
Das geht bei mir nicht. ICh muss nach dem Bild selber auswählen bzw. eben nach dem Erscheinungsbild.
Ich hab ehrlich gesagt wirklich keine Ahnung wie das gehen könnte -> Pixelabfrage ob auf einer gewissenstelle Rot oder das ganze Image mit einem anderen Image vergleichen. -Y mit .equals() gehts auf jeden Fall nicht.

Vielleicht kann mir da nochmal jemand helfen.

Vielen Dank auf jeden Fall für Eure Antworten.

lg
Hannes
 
Wieso soll dass mit Pixel abfragen nicht gehen?

Code:
BufferedImage biS = bi.getSubimage(int x, int y, int w, int h) ;
if( biS.getRGB(0,0) == Color.WHITE.getRGB()){
 System.out.println("SUB is white");
}
 
Welchen Typ hat bi? ich hab für meine Bilder Image img; und da hab ich die Methode getSubimage() leider nicht.

lg und vielen DANK

Hannes
 
wie geht das mit dem extends? Was muss ich jetzt da genau schreiben?
Tut mir leid aber ich häng ein bischen.

Vielen DANK für deine Hilfe!!

lg
Hannes
 
du machste überhapt nichts

BufferedImage ist abgeleitet von Image...(SUBCLASS)
oder man sagt auch erbt von Image...
wollte dir nur den Weg zeigen!
 
JA das schon aber ich kann mit meinem Image img nicht auf die Methode getSubimage() zugreifen.
Wie könnt ich das machen ?

VIELEN DANK!!!.

lg



Code:
Image img = getToolkit().getImage(System.getProperty("user.dir") + "\\" + Name);


BufferedImage biS = img.getSubimage(3, 3, 3, 3) ;         //muss ich img in BufferedImage umwandeln oder wie kann ich auf die Methode getSubimage() zugreifen?
	if( biS.getRGB(0,0) == Color.WHITE.getRGB()){
	    System.out.println("SUB is white");
	    }
 
Code:
public BufferedImage createBufferedImage(Image image)
{
  BufferedImage bi = new BufferedImage(image.getWidth(), image.getHeight(),
    BufferedImage.TYPE_INT_RGB);
  Graphics2D g = bi.createGraphics();
  g.drawImage(image, 0, 0, null);
 
g.dispose()  //....EDIT   noch vergesen....zum aufräumen

  return bi;
}

oder halt so
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben