Ragazzi ho un problema, ho scritto un algoritmo ricorsivo per il calcolo della COMPONENTE CONNESSA di una immagine.
I Pixel di questa immagine sono memorizzati in un Array bidimensionale, quindi la Componente Connessa viene calcolata a partire da un pixel dell'immagine (k quindi sarebbe un elemento dell'array).
Questo è l'algoritmo:
<pre id=code><font face=courier size= id=code>
{Procedure per il Calcolo della Componente Connessa}
procedure CalcolaCC(Riga,Colonna,PixelIniziale,s,ToniMax:integer; VAR i,j:integer);
var	new_i, new_j:integer;
begin
    {Verifica se gli indici individuano ancora una locazione della matrice}
    If ((i<=Riga) And (j<=Colonna)) And ((i>0) And (j>0)) Then
    begin
        {Verifica se il pixel appartiene alla componente connessa}
        If (Dati[i, j] - PixelIniziale) < s Then
        begin
            {Modifica della matrice che individuer… la componente connessa}
            DatiAppoggio[i,j]:=1;
	    {Modifica del valore della matrice per far modo che la ricorsione non sia infinita}
            Dati[i,j]:=2*ToniMax;
            {Autoattivazione ("destra","sotto", "sinistra", "sopra")}
            new_j:=j+1;
            CalcolaCC(Riga, Colonna, PixelIniziale, s, ToniMax, i, new_j);
            new_i:=i+1;
            CalcolaCC(Riga, Colonna, PixelIniziale, s, ToniMax, new_i, j);
            new_j:=j-1;
            CalcolaCC(Riga, Colonna, PixelIniziale, s, ToniMax, i, new_j);
            new_i:=i-1;
            CalcolaCC(Riga, Colonna, PixelIniziale, s, ToniMax, new_i, j);
        End;
    End;
end;
</font id=code></pre id=code>
Come posso risolvere i problemi di stack overflow?