<div dir="ltr"><div><div>Buongiorno a tutti,<br></div>ho bisogno di una buona idea. Non è strettamente un problema python, ma siccome faccio tutto con python mi è sembrato il posto migliore dove chiedere.<br><br></div>Guardate per favore questa immagine che rappresenta un booleano bidimensionale:<br><div><div><br><a href="https://www.dropbox.com/s/mboretd7gyoenhp/domain.png?dl=0">https://www.dropbox.com/s/mboretd7gyoenhp/domain.png?dl=0</a></div><div><br></div><div>L'anello rosso come vedete non si chiude e io vorrei trovare un trucco veloce per trovare il modo di chiuderlo facilmente.</div><div><br></div><div>Infatti il mio scopo è quello di trovare il 'buco' al centro. Se l'anello è chiuso è facile perché faccio la segmentazione dell'immagine (tecnicamente uso la funzione label di mahotas, per chi la conoscesse). Con questo divido l'immagine nelle sue 3 parti, una rossa e le due blu, e di queste blu una tocca il bordo e la butto via e l'altra al centro è quella che mi interessa. Uso un trucco simile per sapere se l'anello è chiuso o no, nel senso che trovo solo due parti, e la blu tocca il bordo.<br></div><div><br></div><div>Ora se l'anello non si chiude è un problema. Paradossalmente so risolvere il problema se invece ho più di una sola zona di interruzione- Infatti è possibile calcolare la minima distanza tra due 'isolette' con un scipy.spatial.cKDTree. Trovati i punti costruisco facilmente dei ponti tra le isolette. <br></div><div><br></div><div>Potrei anche spezzare l'immagine arificialmente e creare delle isolette e riapplicare cKDTree ma non sono entusiasta di questa idea.</div><div><br></div><div>A qualcuno viene in mente un buon trucco?</div><div><br></div><div>Grazie</div><div>Gianfranco<br></div></div></div>