Thema: Delphi Bildanalyse/-vergleich

Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#13

AW: Bildanalyse/-vergleich

  Alt 9. Dez 2011, 18:07
DeddyH war wieder mal schneller, da ich es schon habe poste ich es trotzdem mal ...


BTW.: wenn Du es es optimieren willst steig von Pixels auf Scanline um, Beiträge hierzu liefert die Forensuche bis zum Abwinken

Die bildest im Moment die Differenz nur für das letzte Pixel Deiner Schleifen, man könnte es so lösen
Delphi-Quellcode:
var
 i,j,z:Integer;
begin
 z := 0;
 For i:=0 to image1.width - 1 do // Erstes Bild pixelweise auslesen
         Begin
              For j:=0 to image1.height -1 do
                  Begin
                       farbe1:= image1.canvas.pixels[i,j];
                       farbe2:= image2.canvas.pixels[i,j];
                       wert:= (farbe1 and clred)-(farbe2 and clred); // Differenzwert bilden
                       inc(z);
                       AddFound(z , i, j, wert);
                    end;
           end;
Zahlen müssen in Strings umgewandelt werden wenn Du sie in einem Stringgrid darstellen willst

Delphi-Quellcode:
procedure TForm1.AddFound(nr, x, y, wert :Integer);
begin
  if StringGrid1.Rowcount < (nr + 1) then StringGrid1.Rowcount := (nr + 1);
  StringGrid1.Cells[0, nr ] := IntToStr(Nr);
  StringGrid1.Cells[1, nr ] := IntToStr(x);
  StringGrid1.Cells[2, nr ] := IntToStr(y);
  StringGrid1.Cells[3, nr ] := IntToStr(wert);
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi ( 9. Dez 2011 um 18:12 Uhr)
  Mit Zitat antworten Zitat