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.