Automatyka i Robotyka Politechnika Świętokrzyska Laboratorium 2 semestr II stopnia Centrum Laserowych Technologii Metali Technik Wizyjnych
Opracował: Krzysztof Borkowski str. 1
Ćwiczenia laboratoryjne z przedmiotu: Techniki wizyjne i przetwarzanie obrazów Ćwiczenie nr 2: Obiekty połączone
Algorytm obiektów połączonych wykorzystywany jest do wykrycia i zliczenia obiektów na obrazie binarnym.
Obrazem binarnym nazywamy obraz, na którym piksele mogą przyjmować tylko jedną z dwóch wartości. Operację, która wylicza obraz binarny nazywa się binaryzacją (inaczej progowaniem).
Praktyczna realizacją polega na sprawdzeniu czy wartość piksela na obrazie pierwotnym przekracza zadaną wartość progu, a następnie przypisanie wartości 0, 1 (czasami 0, 255).
Przebieg algorytmu obiektów połączonych:
Inicjalizujemy licznik ile z wartością 0;
Na obrazie wyszukujemy pikseli o niezerowej wartości P(x, y) > 0, a następnie:
o Jeżeli piksel na lewo od niego ma wartość dodatnią P(x – 1 ,y) > 0, to przepisujemy jego wartość P(x, y) = P(x – 1 ,y)
o Jeśli nie to, gdy piksel nad nim ma wartość dodatnią P(x, y - 1) > 0, to przepisujemy jego wartość P(x, y) = P(x, y - 1)
o jeśli nie to inkrementuj licznik i wpisz jego wartość P(x, y) = ++licznik.
1
1 1 2 2
1 1 2 2
3 3 4 4
5 5 6 6
5 5 5
7 7
1
1 1 2 2
1 1 2 2
3 3 3 3
3 3 3 3
3 3 3
7 7
Następnie tworzymy jednowymiarową tablicę korelacji (podstawień) COR o długości 256.
Początkowo do tablicy wpisujemy liczbę odpowiadającą jej indeksowi.
W kolejnym kroku poszukujemy przyległych do siebie pikseli o różnych wartościach.
Wystarczy sprawdzić warunek P(x, y) != P(x, y-1), gdy jest spełniony do tablicy korelacji COR dla indeksu odczytanego z P(x, y-1) wpisujemy indeks przechowywany pod P(x, y).
Na koniec wystarczy zamienić wartość piksela P(x,y) zgodnie z przygotowaną tablicą podstawień.
Automatyka i Robotyka Politechnika Świętokrzyska Laboratorium 2 semestr II stopnia Centrum Laserowych Technologii Metali Technik Wizyjnych
Opracował: Krzysztof Borkowski str. 2
0: 0 1: 1 2: 2 3: 3 4: 4 5: 5 6: 6 7: 7 8: 8
… ...
255: 255
0: 0 1: 1 2: 2 3: 3 4: 3 5: 3 6: 3 7: 7 8: 8
… …
255: 255
Zadanie samodzielne:
1. Zaimplementuj metodę obiektów połączonych zgodnie z przedstawionym algorytmem, a następnie przetestuj ją na przykładowych obrazach.