Ver Mensaje Individual
  #3  
Antiguo 01-10-2008
Cesar Junior Cesar Junior is offline
Miembro
 
Registrado: ago 2007
Posts: 24
Reputación: 0
Cesar Junior Va por buen camino
Cita:
Empezado por coso Ver Mensaje
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.

E intentado de varias forma, pro no logre exito, se que el problema esta en la programacion q hago, pero no logro corrigir, com origen, destino : TCanvas, no compila, para en origen.Width me dice q no es valido, e intentado de otras formas pero no logre
Responder Con Cita