[X i TECNICI]: Trovare baricentro immagine digitale
Salve,
per il tirocinio (io studio informatica) sto portando avanti un progetto con una professoressa.
Il progetto consiste nel ricostruire in 3D la struttura di superficie e la vascolarizzazione interna ed esterna di una tiroide umana a partire dalla scintigrafia.
Ora io ho gi? programmato il filtro di edge detection per rilevare i bordi della tiroide dalla scintigrafia.
Il risultato dell' applicazione del mio filtro ?, ad esempio, questo:
La linea rossa ? il bordo.
Ora devo fare il passo successivo, ossia approssimare il bordo tramite spline.
Per far questo devo campionare i punti e far passare per quei punti delle spline. Per campionarli pensavo di prendere per ogni riga (vedete l' immagine come una matrice di uno e zero) il pixel pi? esterno (ovviamente secondo un parametro di frequenza di campionamento) e fino qui tutto bene.
Poi per? devo riportare i punti campionati su un piano cartesiano.
E devo riportarli in modo che, dato l' asse di simmetria della figura, esso coincida con l' asse delle X del piano.
In questo modo ho mezza tiroide nel quadrante superiore destro e mezza nel quadrante inferiore destro.
Una cosa di questo tipo:
(lo so, l' asse mostrato qui non ? proprio preciso, ma l' ho fatto a mano e in fretta giusto per darvi una idea)
A questo punto trovo le spline, ho l' asse di simmetria e faccio ruotare le spline intorno all' asse di simmetria in modo da ricavare la superficie esterna dell' organo in 3D.
Il problema ?: come trovare questo asse di simmetria in maniera automatica a partire dalla prima immagine che ho messo in questa pagina?
Io pensavo di trovare i due punti pi? distanti tra di loro e di far passare l asse per quei due punti....ma anche per far questo non trovo un procedimento "astuto" per farlo (non vorrei prendere punto per punto e confrontarlo con TUTTi gli altri punti per trovare i due punti del bordo pi? distanti)...
Avete suggerimenti in merito?
per il tirocinio (io studio informatica) sto portando avanti un progetto con una professoressa.
Il progetto consiste nel ricostruire in 3D la struttura di superficie e la vascolarizzazione interna ed esterna di una tiroide umana a partire dalla scintigrafia.
Ora io ho gi? programmato il filtro di edge detection per rilevare i bordi della tiroide dalla scintigrafia.
Il risultato dell' applicazione del mio filtro ?, ad esempio, questo:
La linea rossa ? il bordo.
Ora devo fare il passo successivo, ossia approssimare il bordo tramite spline.
Per far questo devo campionare i punti e far passare per quei punti delle spline. Per campionarli pensavo di prendere per ogni riga (vedete l' immagine come una matrice di uno e zero) il pixel pi? esterno (ovviamente secondo un parametro di frequenza di campionamento) e fino qui tutto bene.
Poi per? devo riportare i punti campionati su un piano cartesiano.
E devo riportarli in modo che, dato l' asse di simmetria della figura, esso coincida con l' asse delle X del piano.
In questo modo ho mezza tiroide nel quadrante superiore destro e mezza nel quadrante inferiore destro.
Una cosa di questo tipo:
(lo so, l' asse mostrato qui non ? proprio preciso, ma l' ho fatto a mano e in fretta giusto per darvi una idea)
A questo punto trovo le spline, ho l' asse di simmetria e faccio ruotare le spline intorno all' asse di simmetria in modo da ricavare la superficie esterna dell' organo in 3D.
Il problema ?: come trovare questo asse di simmetria in maniera automatica a partire dalla prima immagine che ho messo in questa pagina?
Io pensavo di trovare i due punti pi? distanti tra di loro e di far passare l asse per quei due punti....ma anche per far questo non trovo un procedimento "astuto" per farlo (non vorrei prendere punto per punto e confrontarlo con TUTTi gli altri punti per trovare i due punti del bordo pi? distanti)...
Avete suggerimenti in merito?