Sono totalmente bloccato su un problema relativo alla segmentazione di oggetti vetrosi. Ho bisogno di ottenere l'oggetto il più preciso possibile. I miei approcci erano diversi. All'inizio ho provato a rimuovere lo sfondo, in modo che rimanessero solo alcuni contorni nitidi. Ma questo funziona solo per oggetti che hanno spigoli / gradienti taglienti. Altrimenti viene rimosso anche l'oggetto stesso. Ho pubblicato due immagini diverse.
Ho cercato di rimuovere lo sfondo tramite operazioni morfologiche, come la dilatazione in scala di grigi e un divario su di esso. ma non ha aiutato molto. dopo di ciò, ho provato un k-mean con k = 3 per separare lo sfondo modificato dai valori grigio e nero del vetro. In alcuni casi ciò non ha avuto successo, ma non è complessivamente / in media. Ho anche cercato di effettuare un rilevamento intelligente del bordo con un filtro blured complessivo, ma che porta a risultati più deboli sotto forma di contorni aperti, molto rumore, ecc. Pp.
Canny con risultati soglia automatici:
testimg = imread('http://i.imgur.com/huQVt.png');
imshow(testimg)
imedges = edge(testimg,'canny');
imshow(imedges);
Lo stesso vale per la seconda immagine.
Come puoi vedere, c'è molto rumore all'interno e all'esterno e bordi raddoppiati dal bordo del vetro. Anche ci sono spazi vuoti nei bordi.
Quindi, ho bisogno dei tuoi consigli per ottenere un approccio generale per affrontare questo problema dei materiali semitrasparenti, non solo per queste due immagini.
1) Altre idee per rimuovere lo sfondo senza danneggiare l'oggetto?
2) Altri metodi di segmentazione per separare l'oggetto dallo sfondo?
Se è possibile, quindi con Matlab, IPT o suggerimenti statistici sulla casella degli strumenti. Anche altri suggerimenti sono i benvenuti!
Grazie per la risposta in anticipo. Cordiali saluti