Einzelnen Beitrag anzeigen

Phantom1

Registriert seit: 20. Jun 2003
282 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: "Verfärbte" Bilder vergleichen.

  Alt 27. Nov 2006, 08:36
Zitat von marabu:
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;
Mir ist die Formel auch bekannt, ist aber bei diesem Bildvergleich unnutz. Diese Art der Berechnung der Helligkeit ist nur für das menschliche Auge gedacht (da es grün heller empfindet als rot und das wiederum heller als blau), hier wird jedoch alles nur intern berechnet. Hinzu kommt noch das die Bilder Farbverfälschungen besitzen, somit ist die korrekte Herstellung des Grauwertes eh nicht gegeben.

mfg
  Mit Zitat antworten Zitat