Ver Mensaje Individual
  #2  
Antiguo 30-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
Hola de nuevo,

la gracia de la 'erosion' seria transformar a negro aquellos pixeles que tienen alguno de sus pixeles colindantes en negro tambien...quedaria algo asi :

Código Delphi [-]

procedure Erosionar( origen, destino : TCanvas);
var
   i, j  : integer;
begin
         for i := 0 to origen.Width do
         for j := 0 to origen.Height do
         begin
                   if (origen.Pixels[i-1,j-1] = clBlack) or 
                      (origen.Pixels[i  ,j-1] = clBlack) or 
                      (origen.Pixels[i+1,j-1] = clBlack) or
                       ...
                      (origen.Pixels[i  ,j+1] = clBlack) or 
                      (origen.Pixels[i+1,j+1] = clBlack) then
                   destino.Pixels[i,j] := clBlack else destino.Pixels[i,j] := clWhite;
         end;     
end;

mas o menos...como ves, se miran los pixeles colindantes o el mismo, y si alguno de ellos es clBlack, entonces el destino se pinta tambien clBlack. Saludos.

Última edición por coso fecha: 30-09-2008 a las 19:41:57.
Responder Con Cita