Einzelnen Beitrag anzeigen

Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schwarz-Weiß-Bildanalyse

  Alt 29. Jul 2009, 11:29
Aber der S/W-Macher ist schnell, und den nutze ich, wie man auch im letzten Thread erkennen kann...

Delphi-Quellcode:
procedure BlackWhite(Input:TBitmap);
type
  PixArray = packed record
    b, g, r: Byte;
    end;
var
  P: ^PixArray;
  X,
  Y:integer;
  Hell:Byte;
  DHell:int64;
const
  paWhite:PixArray=(b:255; g:255; r:255);
  paBlack:PixArray=(b:0; g:0; r:0);
begin
Input.PixelFormat:=pf24bit;
DHell:=0;
for Y:=0 to Input.Height-1 do
   begin
   P:= Input.ScanLine[Y];
   for X:=0 to Input.Width-1 do
      begin
      Hell:=(P^.b*21+P^.g*174+P^.r*61)div 256;
      P^.b:=Hell;
      P^.g:=Hell;
      P^.r:=Hell;
      DHell:=DHell+Hell;
      Inc(P);
      end;
   end;
DHell:=DHell div (Input.Height*Input.Width);
for Y:=0 to Input.Height-1 do
   begin
   P:= Input.ScanLine[Y];
   for X:=0 to Input.Width-1 do
      begin
      if(P^.b > DHell)
        then P^:=paWhite
        else P^:=paBlack;
      Inc(P);
      end;
   end;
end;
Und zu deinem "Sobel": Is en schöner Effekt, nur ich finde ihn etwas unbrauchbar, ich gehe da über Differenzbilder ran und habe dort eine weiße Fläche, wo mein Kopf ist...
Da aber durch Rauschen ein gewisser Fehler entsteht, hätte ich jetzt gerne 90% (oder so, kann man dann ja ausprobieren) der weißen Pixel "eingerechteckt", und ich weiß nicht, was ich da sobeln soll

MfG LDer.
  Mit Zitat antworten Zitat