Selekcja kolumn z kropkami

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Selekcja kolumn z kropkami

Post autor: Brad PID » 23 paź 2013 14:57

Cześć,
Mam takie zdjęcie binarne:
zdjecie_wstepne.png
zdjecie_wstepne.png (13.58 KiB) Przejrzano 5399 razy
Chciałbym aby po przetworzeniu wyglądało tak:
zdjecie_koncowe.png
zdjecie_koncowe.png (12.84 KiB) Przejrzano 5399 razy
Algorytm ma usunąć całą kolumnę kropek, która ma jakieś braki. Kolumny nie zawsze są równoległe do lewej krawędzi zdjęcia ale można powiedzieć, że zawsze tworzą linie. Wydaje się to dość klasycznym problem ale nie mam na to sensownego (nie topornego) rozwiązania. Macie jakieś pomysły?
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 3 times
Been thanked: 1 time
Kontakt:

Re: Selekcja kolumn z kropkami

Post autor: smiga » 26 paź 2013 02:01

Może zamiast usuwać jakimś specjalnym algorytmem, zawęź ROI i ewentualnie usuń kropki "dotykające brzegów"...?
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Re: Selekcja kolumn z kropkami

Post autor: Brad PID » 28 paź 2013 08:04

Gdybym zastosował prostokątne ROI uzyskałbym efekt jak w przypadku zdjęcia poniżej:
zdjecie_koncowe.png
zdjecie_koncowe.png (12.13 KiB) Przejrzano 5307 razy
Mógłbym użyć innego "custom" ROI złożonego z lini ale nie jest to wygodne. Funkcja "IMAQ Calibration Target to Points - Circular Dots VI" ma parametr z wielkością siatki który domyślnie jest ustawiony na nieskończoność. Jeżeli wpiszę tam rozmiar siatki której potrzebuje działa tak jak bym chciał - odrzuca zbędne boki. Nie jest to rozwiązanie w pełni automatyczne ale działa.
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek

Awatar użytkownika
jogurt_owocowy
Posty: 1316
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków
Been thanked: 1 time
Kontakt:

Re: Selekcja kolumn z kropkami

Post autor: jogurt_owocowy » 28 paź 2013 11:50

Najprościej podzielić obraz na kolumny i zliczyć kropki w każdej z nich. Co dokładnie znaczy "podział na kolumny" zależy od tego, jak bardzo konfiguracja kropek w obrazie odstaje od prostokątnej siatki. Dla zdjęcia, które zamieściłeś można pójść na łatwiznę: znaleźć jego profil poziomy, nieco go wygładzić i znaleźć jego minima - ich lokalizacja określa miejsca podziału obrazu. Zliczenie kropek w każdej kolumnie powinno być już proste (IMAQ Label).
dots.png
dots.png (16.52 KiB) Przejrzano 5291 razy

Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Re: Selekcja kolumn z kropkami

Post autor: Brad PID » 06 gru 2013 21:18

Chyba o coś takiego mi chodziło. Myślałem o jakieś optymalizacji ale nie chciałem za bardzo komplikować. A tu takie proste rozwiązanie... Wykorzystam w następnej wersji programu. Dzięki!
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek

ODPOWIEDZ