Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi "Verfärbte" Bilder vergleichen. (https://www.delphipraxis.net/81402-verfaerbte-bilder-vergleichen.html)

Relicted 26. Nov 2006 19:30

Re: "Verfärbte" Bilder vergleichen.
 
gesteinigt wird hier eh keiner :)
höchstens erhängt, geköpft, gemartert oder sonst was :))

ich hab gerade mal phantom's algo getestet... funktioniert sehr gut. bekomme eine übereinstimmung von 95% bei beiden fakes. works fine :-)

alza deinen algo könnte man vllt noch vereinfachen wenn man einfach nen TImage nimmt und ihm ne 1bit farbrange gibt oder versteh ich grad bissl was falsch? :-)

gruß
reli

alzaimar 26. Nov 2006 20:44

Re: "Verfärbte" Bilder vergleichen.
 
Wenn der Algorithmus von Phantom gut ist, nimm den doch: Ich hab mich eh nur für einen visuellen Vergleich interessiert. Bei einer Konvertierung auf 1bit Farbtiefe könnte es aber sein, das das nicht mehr funktioniert.
Zitat:

Zitat von Relicted
gesteinigt wird hier eh keiner :)
höchstens erhängt, geköpft, gemartert oder sonst was :))

Mag ich eh lieber. :mrgreen: Das Steinigen hängt mir langsam zum Halse raus. Immer diese falschen Bärte...

marabu 26. Nov 2006 21:35

Re: "Verfärbte" Bilder vergleichen.
 
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

Phantom1 27. Nov 2006 09:36

Re: "Verfärbte" Bilder vergleichen.
 
Zitat:

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

alzaimar 27. Nov 2006 19:45

Re: "Verfärbte" Bilder vergleichen.
 
Hallo marabu,

Die von Dir genannte 'korrekte' Grauwerttransformation findet bei meinem ästhetischen Empfinden keine Zustimmung. Hier hat die Mittelwertbildung für mich die besten Resultate gebracht. Kann aber auch an meiner Brille liegen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz