Einzelnen Beitrag anzeigen

Phantom1

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

Re: Funktion zum Vergleich zweier Bilder, falsche Ergebnisse

  Alt 3. Jan 2004, 08:52
ist ja auch logisch, da du jeden farbanteil einen pixel vergleichst (Rot/Grün/Blau).

so sollte es aber gehen:
Code:
procedure CompareImages(image1, image2: TImage);
var
  a, b: TBitmap;
  c1, c2: PInteger;
  x, y, different: Integer;
begin
  a:=Image1.Picture.Bitmap;
  b:=Image2.Picture.Bitmap;
  a.PixelFormat:=pf32bit;
  b.PixelFormat:=pf32bit;
  different:=0;
  for y:=0 to a.Height-1 do begin
    c1:=a.Scanline[y];
    c2:=b.Scanline[y];
    for x:=0 to a.Width-1 do begin
      Inc(different, Integer(c1^<>c2^));
      Inc(c1);
      Inc(c2);
    end;
  end;
  form1.label2.caption:='Unterschiede:'+IntToStr(different);
end;
  Mit Zitat antworten Zitat