Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: "Verfärbte" Bilder vergleichen.

  Alt 26. Nov 2006, 21:35
Hi,

nur weil ich über die identische Grauwert-Berechnung in den beiden Codes von Phantom und alzaimar gestolpert bin: Der Grauwert ist nicht der Mittelwert aus den Farbanteilen im RGB-Farbraum. Um den Grauwert zu erhalten bildet man RGB in den NTSC Farbraum ab (wegen der Trennung von Farbe und Helligkeit in YUV) und schmeißt die Farbe weg, bevor man wieder in den RGB-Farbraum zurück übersetzt. Diese Funktion könnte dabei helfen:

Delphi-Quellcode:
function GrayValue(rgb: PRGBTriple): Integer;
begin
  Result := Round(rgb.rgbtRed * 0.299 + rgb.rgbtgreen * 0.587 + rgb.rgbtblue * 0.114);
end;
Ansonsten ist ein einfaches gray scale Differenzbild bei ungleichmäßiger Verfärbung (gealterte Fotos) nicht sehr aussagefähig, aber wenn hier künstlich verfärbte Bilder (sepia operator) vorliegen, dann reicht das aus. Informationsgleichheit ist dann gegeben, wenn ein Bild mit annähernd konstantem Grauwert als Differenzbild heraus kommt. Oder man berechnet das Schwarz-Weiß-Bild mit einem statischen Schwellwert und erhält ein annähernd schwarzes Differenzbild. Was da vorteilhafter ist hängt wohl davon ab, wie man die Auswertung des Differenzbildes implementiert.

Gute Nacht
  Mit Zitat antworten Zitat