Zitat von
Deviloper:
Also es ist klar wenn ich wissen möchte ob Dateien von der Struktur und gesamten Inhalt her gleich sind, dann verwende ich Hashes (Checksummen) um ihre eindueitge Übereinstimmung festzustellen.
Hashs sind nicht eindeutig!
Man kann damit nur prüfen, ob es vermutlich eindeutig ist, da ja nach Hashgröße dennoch mehrere Dateien die selben Hashs haben.
z.B. CRC32 und 6 Byte große Dateien, da haben dennoch durchschnittlich je 65.000 Dateien den selben Hash, auch wenn es in freier Wildbahn nicht so drastisch dein wird, da es dort nicht jede Bytekombination geben wird.
Zitat von
Deviloper:
Heißt Also pixelweise Bild abgleichen ?
Pixelweise und dann auch nur auf Ähnlichkeit, da JPEG je formatbebingte Verluste hat und sich somit schon, Aufgrund der Komprimierung, Unterschiede eingeschlichen haben.
Zitat von
Deviloper:
Lassen sich beide Bilder wie Klarsichtfolien übereinander legen so das Unterschiede direkt ersichtlich wären ?
Ja, einfach die Differenz aller Pixel in ein neues Bild übertragen.
Also praktisch je Pixel und Farbkanal (
RGB):
BildDiff.Pixel[x,y].Kanal[z] := Abs(Bild1.Pixel[x,y].Kanal[z] - Bild2.Pixel[x,y].Kanal[z]);
Zitat von
Deviloper:
Existieren Komponenten/Schnipsel die Bildähnlichkeiten feststellen können, unabhängig vom Dateiformat, Bittiefe,etc. ?
bestimmt.
aber du kannst ja erstmal alles sozusagen in ein Bitmap, mit gleichen Ausmaßen übertragen
- vergiß nicht, das vorallem bei den Fotos auch mal die Auslösung, das Format und die Komprimierungsstärke unterschiedlich sein können.
- ok, es kann sich auch der Bildausschnitt, Blickwinkel, Belichtung (Helligkeit, Kontrast usw.) unterscheiden und schlimm wird es, wenn sich die selbe Person in unterschiedlichen Umgebungen befindet
Zitat von
Deviloper:
Ist es möglich festzustellen ob EXIF Informationen geändert wurden oder original sind?
ich glaub nicht und selbst wenn, dann kann man dieses fälschen
ja, dann erstmal willkommen
und wie du letztenlich am Besten vergleichen könntest, das entscheidet sich erstmal grundsätzlich darin, welche Unterschiede zu erwarten wären.
- Also wenn sich nur Bildformat bzw. Komprimierungsstärke unterscheiden, dann sollte es reichen, wenn du die Pixel vergleichst und die Abweichungen berechnest.
- bei Unterschieden in der Auflösung, solltest du vorher diese angleichen
- bei Unterschieden in den Farben (Helligkeit, Kontrast, Weißabgleich usw.) müßte man vorher die Bilder analysieren und auch diese Werte angleichen
- bei anderem Bildausschnitt, wo man also auf den Bildern unterschieliche Aus-/Abschnitte sieht, wird es schwer, da du dann ja erstmal irgendwie ähnliche Bildausschnitte finden müßtest
- usw.
Das Problem ist also erstmal zu entscheiden welche Informationen uninteressant sind und diese rauszufiltern, bzw. zu ignorieren und dann nur den Rest zu vergleichen.