# Bilder auf Gleichheit prüfen



## Linad (8. Apr 2005)

Hallo

Ich möchte ein Programm schreiben, dass mir z.B .jpg Bilder auf Gleichheit überprüft. Also wenn zweimal das Gleiche jpg kommt soll mein Programm dies erkennen. In der Art sowas wie der == oder equals() Operator. Einfach nur für Bilder.

Gibt es sowas?  :?: 

Gruss
tikami

P.S habe noch keinen Code dazu geschrieben


----------



## meez (8. Apr 2005)

Ermittle halt eine Checksumme...

Hier ein kleines Beispiel:

```
public long getAdlerChecksum(File file) {
		try {						
			final CheckedInputStream in = new CheckedInputStream(new FileInputStream(file), new Adler32());
			return in.getChecksum().getValue();				
		} catch (Exception e) {
			//e.printStackTrace();
			return -1;
		}
	}
```


----------



## bygones (8. Apr 2005)

mhm - als was definierst du Gleichheit von Bildern?

tsja - wenn dein Programm automatische entscheiden soll ob 2 Bilder identisch sind oder ähnlich wünsch ich viel Spaß, da das Problem bei nichten trivial ist... 

Es gibt einzelne Forschungszweige die das betrachten (Multimedia Datenbanken z.b.) und das Problem ist afaik nicht gelöst....


----------



## Linad (8. Apr 2005)

Danke für eure Antworten!

Einfaches Beispiel -> eine Fläche von 40x40 pixeln mit einem roten Kreis in der Mitte -> das Ganze als Graphik abgespeichert (oder könnte man es anders auch speichern?). Jetzt tritt genau das gleiche Bild wieder auf und mein Programm sollte das Bild wiedererkennen können. 

Gruss
Tikami


----------



## bygones (8. Apr 2005)

dann leg ich dir http://www.dbs.ifi.lmu.de/Lehre/Multimedia/ ans Herz - da gibt es auch ein gutes Skript über diese gesamte Problematik !


----------



## Illuvatar (8. Apr 2005)

Na ja wenn jedes Pixel exakt gleich ist, aknnst du mit BufferedImage und getRGB arbeiten


----------



## Linad (8. Apr 2005)

Jungs vielen Dank!! Jetzt weiss ich wenigstens wo anfangen. Wenn es jemanden interessiert, werde ich meine Lösungen hier posten.

Gruss
Tikami


----------

