AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder abgleichen

Ein Thema von Mooshead · begonnen am 16. Apr 2008 · letzter Beitrag vom 17. Apr 2008
Antwort Antwort
Mooshead

Registriert seit: 27. Jul 2007
32 Beiträge
 
#1

Bilder abgleichen

  Alt 16. Apr 2008, 20:07
Hallo,

ich hab einen Algorithmus zum Abgleichen von Bildern.
Wenn ein Unterschied (genügend groß) festgestellt wird, dann wird auf einem neuen Bild ein schwarzer Punkt erzeugt.
Da es sich um recht viele Bilder handelt und ich Pixel für Pixel abgleiche wollte ich fragen ob es nicht eine schnellere Möglichkeit gibt. Z.B. mit einem Zeiger die Farben der Pixel direkt aus dem Speicher lesen o.ä. weiß aber nicht genau wie das gehen soll.

Vielen Danke für Eure Hilfe


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Bild1,Bild2 : TPicture;
    i,x,y : integer;
    Bitmap : TBitmap;
    A : array[0..639,0..479] of integer;
begin
  Bild1 := TPicture.Create;
  Bild1.LoadFromFile('0.jpg');
  for x:= 0 to 639 do
    for y:= 0 to 479 do
      A[x,y]:=ColorToRGB(Pi.Bitmap.Canvas.Pixels[x,y]);
  bild1.Free;

  for i:=1 to 1000 do begin
    Bild2 := TPicture.Create;
    Bitmap := TBitmap.Create;
    Bild2.LoadFromFile(IntToStr(i)+'.jpg');
    Bitmap.Width:=640;
    Bitmap.Height:=480;

    for x:= 0 to 639 do
      for y:= 0 to 479 do begin
        diff:=ColorToRGB(B.Bitmap.Canvas.Pixels[x,y])-A[x,y];
        if diff<0 then diff :=-diff;
        if diff>1000000 then
          Bitmap.Canvas.Pixels[x,y]:=clblack;
      end;
    Bitmap.SaveToFile('B'+IntToStr(i)+'.bmp');
    Bitmap.Free;
    Bild2.Free;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Bilder abgleichen

  Alt 17. Apr 2008, 10:54
Der Trick besteht darin Hier im Forum suchenScanLine anstatt Pixels zu nutzen, da Du damit den Rechenaufwand extrem minimierst.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz