Mam dane wejściowe jako obraz binarny 3D, a preferowane dane wyjściowe poniżej:
Wejście:
Preferowana wydajność:
Jakich metod przetwarzania obrazu powinienem szukać, jeśli mam pozostać tylko kolczasty obiekt (obiekty), tak jak preferowane wyjście powyżej?
spiky
przedmiotem? Co tak naprawdę nazywa to kolczastym? jakie są kluczowe cechy, aby dostrzec kolczaste obiekty?Odpowiedzi:
Na rogach „kolczastego obiektu” znajduje się więcej rogów, więc jednym z podejść byłoby dostrojenie detektora narożnego .
Na przykład obliczyłem wyznacznik tensora struktury (kod Mathematica poniżej) obrazu przekształconego na odległość:
Binaryzacja z histerezą daje ten obraz, który powinien być dobrym punktem wyjścia dla wybranego algorytmu segmentacji:
Kod Mathematica (
src
to opublikowany obraz źródłowy)Najpierw obliczam transformację odległości obrazu wejściowego. Stwarza to kontrasty na całym obszarze obiektu (zamiast samej granicy), dzięki czemu można wykryć cały obiekt.
Następnie przygotowuję elementy tensora konstrukcji . Rozmiar filtra dla pochodnych gaussowskich, jeśli 5, rozmiar okna wynosi 20.
Aby obliczyć filtr narożny dla każdego piksela, po prostu podłączam je do symbolicznego wyznacznika tensora struktury:
Co jest w zasadzie takie samo jak:
Przekształcenie tego w obraz i skalowanie do zakresu 0..1 daje obraz detektora narożnego powyżej.
Wreszcie, binaryzacja za pomocą odpowiednich progów daje końcowy, binarny obraz:
źródło