Antworten auf deine Fragen:
Neues Thema erstellen

Bilder vergleichen, Unterschiede markieren und quantifizieren?

12fortunecookies

Noch nicht viel geschrieben

Hi,
ich weiß, der Titel hört sich kompliziert an, wenn man das Problem so stark verknappt. Im Detail möchte ich folgendes tun:
Ich schreibe im Moment meine Diplomarbeit über eine Versuchsreihe. Ich nehme Probeplatten, schmiere diverse Substanzen darauf und lasse sie einen Monat im Klimaschrank vor sich hin bröseln. Zur Auswertung erfasse ich die Veränderung des Aussehens.
Mein Plan ist also, das Vorher- und das Nachher-Bild zu vergleichen und die Unterschiede des Nachher-Bilds sichtbar zu machen. Das habe ich über die Ebenen-Einstellung Differenz auch schon akzeptabel hinbekommen. Diese Unterschiede farblich zu markieren, sollte auch machbar sein, wenn auch nicht unbedingt trivial, wenn die Veränderungen recht nebulös ausfallen sollten.
Aber wie kann ich die Veränderungen quantifizieren, z.B. als prozentualer Anteil an der Gesamtfläche des Bildes?

Ich hoffe, dass mein Problem im Photoshop-Bereich überhaupt am richtigen Platz ist und ihr mir weiterhelfen könnt. Danke schonmal dafür, dass ihr euch damit befasst.
 

Photoshop

buerzel

Versuch macht kluch!

Teammitglied
AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Und hatte auch schon mal jemand dasselbe Problem ...

P.S. Bei Gimp werden dir im Histogramm auch gleich die Prozentwerte der einzelnen Farben errechnet!
 
Zuletzt bearbeitet:

Andre_S

unverblümt

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Farbereich aufnehmen. Pipette auf 1 Px. Toleranz auf 1. Histogramm auf erweiterte Ansicht. Dort wird dir die Anzahl der Pixel angezeigt. Rest ist Flächen- und Prozentrechnung.
 

fotopeik

RatgeBär

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Kannst Du dazu mal ein Beispiel zeigen!?
Also wo man die zu vergleichenden Bereiche gut erkennen kann.
 

12fortunecookies

Noch nicht viel geschrieben

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

@fotopeik: Ich hab noch kein Beispiel, weil ich den Test erst mache, wenn ich weiß, wie ich ihn auswerten kann. Ich könnte höchstens Bilder liefern, die die Richtung anzeigen, in die das Ganze gehen könnte. Die eignen sich aber für den direkten Vergleich nicht, weil es verschiedene Platten sind.


Eure Vorschläge (letztendlich sind es ja verschiedene Varianten der gleichen Methode) treffen den Nerv des Problems auf jeden Fall ziemlich gut und könnten schon die Lösung sein. Ich werde das in den nächsten Tagen ausprobieren und berichten, ob das ausreicht.
 

Wellenbrecher1963

Aktives Mitglied

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

In unserem Unternehmen haben wir ähnliches gemacht, allerdings auf der Webdesign Schiene. Ein Mitarbeiter hat in der Programmiersprache PHP ein Script geschrieben, das zwei Bilder Bit für Bit miteinander vergleicht.

Wenn Dir das helfen könnte, stelle ich den Kontakt her oder reiche nach seiner Einwilligung dir die PHP Funktion rüber.

So long
Sylvio
 

12fortunecookies

Noch nicht viel geschrieben

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

@sylvio: Das hört sich vielversprechend an. :)
Wie stelle ich mir das Ergebnis am besten vor? Ist es eine Variante von x Anteile von x Gesamtteile weichen ab? Oder geht das noch weiter?
Wie hoch ist die Genauigkeit? Ich frage das, weil ich ja zwei tatsächlich verschiedene Fotos haben werde und befürchte, dass es immer kleine Abweichungen geben wird, denn selbst wenn ich die Platten einscanne, werden sich die Aufnahmen in Winzigkeiten wohl unterscheiden.
 

randacek_pro

Mod | Forum

@ Wellenbrecher1963 & 12fortunecookies

@sylvio: Das hört sich vielversprechend an. :)
Wie stelle ich mir das Ergebnis am besten vor? Ist es eine Variante von x Anteile von x Gesamtteile weichen ab? Oder geht das noch weiter?
Der Frage möchte ich mich anschließen, da es sehr interessant ist!
Ist dieses Skript so eine Art "Ähnlichkeitssuche", wie sie von manchen Bildvergleichsprogrammen genutzt wird? Was genau analysiert dieses Skript, zumal du (Wellenbrecher1963) schreibst, dass es die Bilder Bit für Bit vergleicht?
Detektiert es eher Farbdifferenzen oder ist es sensitiv für Geometrie und Formähnlichkeit?

12fortunecookies In welchem Fach schreibst du deine Diplomarbeit? Hört sich nach Biochemie an :)
Spannend!

Lieber Gruß
 

12fortunecookies

Noch nicht viel geschrieben

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

randacek_pro Biochemie liegt relativ weit daneben, ich studiere Metallrestaurierung. ;)

Ich habe gestern noch ein paar Versuche mit den Pixelanzahlen gemacht und - mal abgesehen davon, dass mich die konkreten Ergebnisse ziemlich überrascht haben, weil ich andere Dimensionen erwartet hatte - schätze ich den Weg übers Auszählen und umrechnen als machbar ein. Also Daumen hoch für eine so schnelle Lösung an gugue, buerzel und Andre_S! :)

Habe beim Probieren das Analyse-Menü entdeckt und versucht, es für meine Frage irgendwie zu benutzen, habe aber nichts Brauchbares damit anstellen können. Kann mir vielleicht jemand kurz erklären, wie und wofür man das benutzen kann?

Viele Grüße
 

Wellenbrecher1963

Aktives Mitglied

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

ups, ihr fragt mich Sachen..... da muss ich mal nachfragen. Das wird aber erst ENDE der Woche. Sorry. Leider nicht eher. Aber so wie ich das in Erinnerung habe, zerlegt das Script das Bild zeilenweise und liest dann das erste Bit oder Byte vom ersten Bild, dann dahinter das vom zweiten Bild. Wenn er nix gefunden hat, das anders ist, dann macht das Script weiter.

Aber ich kann mir vorstellen, dass das Script sogar Helligkeitsänderungen findet, also, wenn man ein Bild fotografiert und dann per PS einmal normal abspeichert und dann etwas heller in Kopie. Dann dürfte das Script schon eine Veränderung vorfinden, da ja das eine Bit heller und das andere dunkler ist. Mir ist jetzt auch nicht bewußt, ob man die Empfindlichkeit im Script einstellen kann.

OK, ich kümmer mich um die Informationen
Sylvio
 
Zuletzt bearbeitet:

Wellenbrecher1963

Aktives Mitglied

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

So, ich habe die Infos.

Also, er sagte, dass er das Bild Pixel für Pixel vergleicht. Daher kann er sich vorstellen, dass Helligkeitsunterschiede schon einen Error auslösen. Man muss es vermutlich mal austesten:

Alle Codeschnipsel sind PHP 5
Code:
 // Vergleicht zwei Bilder Pixel fuer Pixel
  function imagecompare($img1, $img2) {
    // Bildgroesse vergleichen
    if (imagesx($img1)!=imagesx($img2) || imagesy($img1)!=imagesy($img2)){
      // Nicht gleich
      return false;
    }
    // Pixel auslesen
    for( $x=0; $x<imagesx($img1 ); $x++ ){
      for ($y=0; $y<imagesy($img1); $y++) {
        // Ist Pixel gleich
        if(imagecolorat($img1,$x,$y)!=imagecolorat($img2,$x,$y)){
          // Nein
          return false;
        }
      }
    }
    return true;
  }
Dann hat er noch ein ppar andere sinnvolle Lösungen geliefert, die man vielleicht braucht. Alles läuft unter PHP 5

Code:
// Prueft, ob Datei ein Bild ist
  function check_pic3($file){
    // Typ auslesen
    $f_info=getimagesize($file);
    switch($f_info[2])
    {
      case 1: // -->gif
      case 2: // -->jpg 
      case 3: // -->png
        return true;
        break;
      default: // --> Kein Bild
        return false;
        break;
    } 
  }

//Alle Bilder aus Ordner lesen
  function get_imgs($path){
    $result = false;
    // Verzeichnis oeffnen
    $dh=opendir($path);
    // Ist Verzeichnis offen?
    if($dh){
      // Ja -> Dateien durchlaufen
      while($file = readdir($dh)){
        // Stimmt Endung 
        if(preg_match("/(\.gif)|(.jpg)|(\.jpeg)|(\.png)$/",$file)){
          // Ja -> in Array schreiben
          $result[] = $file;
        }
      }
      // Verzeichnis schliessen
      closedir($dh);
    }
    return $result;
  }

// Verzeichnis rekursiv loeschen
function unlinkRecursive($dir, $deleteRootToo)
{
  if(!$dh = @opendir($dir)){
      return;
  }
  while (false !== ($obj = readdir($dh))){
    if($obj == '.' || $obj == '..'){
      continue;
    }

    chmod($dir . '/' . $obj,0777);
    if (!@unlink($dir . '/' . $obj)){
      unlinkRecursive($dir.'/'.$obj, true);
    }
  }

  closedir($dh);
  chmod($dir,0777); 
  if ($deleteRootToo){
    @rmdir($dir);
  }
   
  return;
}

// Verzeichnisbaum erstellen

function create_dirs($path,$chmod,$out=true){
  //Legt Ordner an
  if (!is_dir($path))
  {
    $directory_path = "";
    $directories = explode("/",$path);
    array_pop($directories);
  
    foreach($directories as $directory)
    {
      $directory_path .= $directory."/";
      if (!is_dir($directory_path))
      {
        mkdir($directory_path);
        chmod($directory_path, sprintf('%04d',$chmod));
        if($out){
          printf('<span style="color:#1da319;">Verzeichnis angelegt: </span>%s <br />',$directory);
        }
      }
    }
  }
}
Ich hoffe, dass Euch die Beispiele helfen, Euer Projekt umzusetzen.

So long
Sylvio
 

randacek_pro

Mod | Forum

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Hallo Sylvio,

vielen Dank für deine Mühe und dass du den Quellcode providest! ;)

Ich schaue mir das mal in Ruhe an - ich denke aber, dass dies durchaus sehr hilfreich ist!

Lieber Gruß
 

12fortunecookies

Noch nicht viel geschrieben

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Hi,
sorry für die längere Abwesenheit und Danke für die Codes, Wellenbrecher.

So, ich habe die Infos.
Also, er sagte, dass er das Bild Pixel für Pixel vergleicht. Daher kann er sich vorstellen, dass Helligkeitsunterschiede schon einen Error auslösen. Man muss es vermutlich mal austesten

Als absoluter PHP-Laie muss ich demnächst erstmal herausfinden, wie ich sowas zum Laufen bringe. Du sagt, ein Helligkeitsunterschied würde einen Error auslösen und wenn ich den Code richtig verstanden habe, ist das für einen Check für Dubletten wahrscheinlich wirkungsvoller, als wenn man genau wissen will, wieviele Pixel wie abweichen. Damit würde die Pixelzählerei über Photoshop wie vorher diskutiert, wahrscheinlich besser für meine Zwecke funktionieren, oder seh ich das jetzt nicht richtig? Berichtigt mich, wenn ihr was anderes denkt.

Viele Grüße bis dahin
 

Wellenbrecher1963

Aktives Mitglied

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

naja, das Script kannst Du direkt aufrufen lassen und abarbeiten und gut ist.
Photoshop musst Du erst mal von Hand starten, dann die Bilder darein, vergleichen usw.
Wenn Du etwas automatisiert machen willst, wäre das mit Script besser.
Ja und das mit Photoshop - hm, - ich denke ohne einen direkten Vergleich / Auswertung wirst Du keine 100%tige Aussage tätigen können.

v.G. Sylvio
 
K

klawutscha

Guest

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Hi 12fortunecookies,

die technische Seite Deiner Frage ist sehr gut und wichtig, was jetzt noch fehlt, ist das Bewerten der Veränderung. Was bedeutet die Veränderung? Erst, wenn Du die Frage beantwortet hast, kann man die technische Realisation angehen.

Grüße
 

12fortunecookies

Noch nicht viel geschrieben

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Hi klawutschka,

was die Veränderung bedeutet, ist Teil meiner Diplomarbeit. Natürlich habe ich mir darüber Gedanken gemacht, bevor ich diese Frage hier gestellt habe. Ich war nur der Ansicht, dass die ausführliche Erklärung zu weit weg führt von der Photoshop-Relevanz meiner Frage und potentiell hilfsbereite Betrachter abschrecken könnte. ;)

Hier die Antwort: Ich versuche in meiner Diplomarbeit die Frage zu klären, ob Inhibitoren für bzw. gegen die feuchteinduzierte Korrosion von Zink auf einer kupferhaltigen Zinklegierung wirksam sind und die Beständigkeit des Materials verbessern. Um das zu testen, werde ich inhibierte Probeplatten einem Kondenswasserklima mit wechselnder Temperatur und Luftfeuchte aussetzen. Durch Vergleich der Probeplatten vor und nach der Bewitterung und in Verbindung mit einer Nullprobe wird die Wirkung der Inhibitoren sichtbar. Nach der Bewitterung werden sich wahrscheinlich mehr oder weniger starke, weißliche Ausblühungen auf der Oberfläche gebildet haben. Die Fläche der Ausblühungen bzw. der wie auch immer gearteten Veränderung will ich, wie eingangs erklärt, vermessen.

Ich hoffe, dass das deine Frage beantwortet?

Viele Grüße
 

randacek_pro

Mod | Forum

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Soweit, wie ich das jetzt verstanden habe, wären die vorgenannten Methoden zur Vermessung und Quantifizierung der durch die Bewitterung verursachten Veränderungen der Oberfläche und Struktur der Metalle durch "Ausblühungen" durchaus geeignet, wenn es darum geht, festzustellen ob eine bestimmte Legierung eine messbar verwitterungshemmende Wirkung hat, oder nicht.

;)
 

12fortunecookies

Noch nicht viel geschrieben

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Ja genau. Das sehe ich auch so. :) Auch wenn ich mir noch ein bisschen unsicher bin, wie die Variante mit dem php-Script genau ausfällt, weil mir in dem Fall die Bilder zum Testen fehlen (ich bin immernoch in der Planungsphase und hab deswegen noch kein Vorher- und Nachher-Bild). Die Photoshop-Variante ließ sich auch gut dazu verwenden, etwas auf nur einem Bild auszumessen.
 

Hoogo

Eimergesicht mit Wurst

AW: Bilder vergleichen, Unterschiede markieren und quantifizieren?

Da es weniger um Verfärbungen geht, würde ich im Modus 16Bit Graustufen arbeiten. Im Zweifelsfall beide Ebenen mit Hochpaßfilter mit höchstem Radius bearbeiten, um Unterschiede in der Belichtung so ziemlich auszugleichen.

Das Ergebnis der Differenz der beiden Ebenen würde ich mit dem Schwellenwert bearbeiten. Und jetzt sehe ich ein Problem: Den Schwellenwert wirst Du "nach Geschmack" einstellen müssen, also selber entscheiden, wann eine Veränderung groß genug ist, daß sie gilt! Und das kann je nach Geschmack ganz schön große Unterschiede machen!

Zuletzt den Durchschnittsfilter anwenden und mit der Pipette den Grauwert ablesen. In Prozent gibt der dann die ursprünglich weiße Fläche an.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben