
Ich erstelle eine Regressionstestsuite für eine Rendering-Software. Ich muss in der Lage sein, eine Bilddatei (idealerweise PNG oder TGA) zu laden und die Pixelwerte mit einem standardmäßig freigegebenen Bild zu vergleichen.
Ich möchte, dass es auch über die Befehlszeile gesteuert wird, sodass ich eine Batchdatei erstellen kann, um alle Tests auszuführen.
Alle Vergleichsprogramme, die ich bisher gefunden habe, zeigen entweder Unterschiede an (ich möchte nur, dass ein Fehler auftritt, wenn sie unterschiedlich sind) oder vergleichen alle Bytes, was bedeutet, dass Metadaten einen Fehler auslösen.
Hat jemand Vorschläge? Ich bin kein Programmierer und kann nur mühsam ein Batch-Skript zusammenschustern.
Danke für alle Vorschläge.
Antwort1
Nach einiger Recherche fand ich heraus, dass TGA-Dateien keine Metadaten haben, sodass ich sie mit einem einfachen fc vergleichen kann. Allerdings ist fc sehr langsam, wenn es viele Unterschiede gibt, also suchte ich ein wenig und fand FCMP (http://www.gammadyne.com/cmdline.htm#fcmp), das genau das tut, was ich brauche, und zwar kostenlos.
Ich kann auch ein anderes Befehlszeilenprogramm verwenden, um von anderen Formaten zu TGA zu wechseln, also wird das auch gut funktionieren.
Danke an alle anderen, die versucht haben zu helfen!
Antwort2
Hängt davon ab, welche Plattform Sie verwenden. Wenn Sie einen Mac verwenden, kann iPhoto zusammen mit Duplicate Annihilator doppelte Fotos finden.
Wenn Sie sicherstellen möchten, dass die Bilder identisch sind, können Sie den diff
Befehl ausprobieren.
diff picture1.png picture2.png
Es wird Ihnen jedoch nicht sagen, wo sie sich unterscheiden.
Keine Ausgabe bedeutet, dass sie gleich sind, aber wenn die Ausgabe
Binary files photo.png and photo2.png differ
Es werden weitere Informationen benötigt. Teilen Sie mir in diesem Fall mehr über die Umgebung mit, damit ich ein Skript schreiben kann.
Bedenken Sie: Wenn die Bilder eigentlich gleich sind, die Größe sich jedoch auch nur um einen Pixel geändert hat, handelt es sich nicht um dasselbe Bild.
Antwort3
Ich habe einige Programme zur Duplikatserkennung übrig, habe sie aber schon eine Weile nicht mehr verwendet.
Duplikatsdetektorhttp://www.prismaticsoftware.com/
Bildklone, Prozentübereinstimmung, 2 Parameter zur Feinabstimmung einstellbar. Viele Optionen für den Typ des verwendeten Algorithmus. Zum Auffinden eines doppelten Bilds in einem oder zwei Dateipools. 3-teiliger Prozess, der etwas mehr Überlegung erfordert, aber eine nette Auflistung für Querverweise liefern kann. Duplikatprotokollierung, automatisches Verschieben und andere Funktionen, die ich nicht verwende, die für Sie aber vielleicht nützlicher sind?
"KlonSpy"http://www.clonespy.com/
Datenklone, 100 % Übereinstimmung, Namensübereinstimmung, Pools vergleichen, gut zum Auffinden von Wiederholungen mit unterschiedlichen Namen. Nicht wirklich nützlich, wenn die Dateien unterschiedliche Header hätten.