Przetwarzanie binarnych obrazów cyfrowych, przetwarzanie binarnych obrazów cyfrowych () – dziedzina przetwarzania obrazów cyfrowych zajmująca się komputerowymi algorytmami obróbki obrazów binarnych.

Obraz binarny Obraz binarny jest specjalnym rodzajem obrazu cyfrowego, w którym piksele mogą przybierać tylko dwie wartościW. Burger, M.J. Burge, Principles of Digital Image Processing: Fundamental Techniques, Springer, Londyn 2009, .. Zazwyczaj kodowane są za pomocą pojedynczego bitu i przyjmują wartość 0 lub 1. Spotyka się także reprezentację bajtową, wykorzystującą inne pary wartości: (0, 255), (-1, 1), (True, False).

Podczas interpretacji obrazu jedna z wartości przyjmowana jest za tło, druga – za pierwszy plan. Zbiór wszystkich pikseli należących do tła określa się mianem dopełnienia (ang. ), piksele należące do pierwszego planu określane są suportem (ang. ). Interpretacja, która z wartości zostanie przypisana bieli, a która czerni, jest zależna od urządzenia. W niektórych przypadkach wykorzystywane są także inne kolory, np. w standardzie TWAIN określającym komunikacje pomiędzy skanerami i aparatami cyfrowymi a programami graficznymi stosuje się wanilię i czekoladę.

thumb|left|200px|Sąsiedztwo ośmiospójne (po lewej) i czterospójne (po prawej)

Sąsiedztwo

W przetwarzaniu obrazów binarnych ważne jest określenie, kiedy dwa piksele sąsiadują ze sobą. W tym celu definiuje się dla każdego piksela jego sąsiedztwo. Najczęściej wykorzystywane sąsiedztwa punktu o współrzędnych to:

czterospójne (von Neumanna) – obejmuje cztery piksele przyległe do danego z góry, dołu i po bokach

ośmiospójne (Moore’a) – obejmuje osiem pikseli przyległych do danego po jednym z góry i z dołu, dwa po bokach oraz cztery na przekątnych

Operacje morfologiczne Operacje morfologiczne są jednymi z ważniejszych operacji przetwarzania obrazów, gdyż pozwalają przeprowadzić zaawansowaną analizę kształtów poszczególnych obiektów oraz odległości między nimi. Podstawowe przekształcenia morfologiczne można ze sobą łączyć, co daje podstawę do budowania skomplikowanych systemów analizy obrazu.

Przetwarzanie obrazów binarnych odbywa się z wykorzystaniem morfologii matematycznej, teorii analizy i przetwarzania struktur geometrycznych opartej na teorii mnogości, kratach, topologii i funkcjach losowych.

Przetwarzany obraz określany jest przez zbiór pikseli w którym można wyróżnić dwa podzbiory pierwszy plan, piksele przyjmujące wartość 1

tło, piksele przyjmujące wartość 0

Element strukturalny Właściwości filtrów morfologicznych określane są przez tzw. element strukturalny, wykorzystywany jako ruchome okno. Określony jest względem wybranego piksela, tzw. punktu centralnego lub początkowego. Element strukturalny może przybrać dowolny kształt i wielkość, zawierać dowolną kombinację wartości 0 i 1, zaś jego punkt centralny może być w dowolnym miejscu. Dla uproszczenia zapisu skomplikowanych kształtów można niektórym pikselom przypisać literę (np. ) oznaczającą, że mogą one przyjąć dowolną wartość.

Jednym z częściej stosowanych elementów strukturalnym jest kwadrat o boku (zazwyczaj 3×3) i wartości 1 dla wszystkich pikseli. W niektórych operacjach element strukturalny jest obracany symetrycznie względem punktu środkowego (dając ). thumb|left|500px|Przykładowe elementy strukturalne – kolorem czerwonym zaznaczono punkt centralny danego elementu.

Operatory morfologiczne Można wyróżnić jeden ogólny schemat działania algorytmów morfologicznych: Element strukturalny jest przemieszczany po całym obrazie tak, by analizowany piksel był punktem centralnym elementu strukturalnego. Dla każdego takiego punktu następuje porównanie zgodności jego otoczenia z wzorcem elementu strukturalnego. W przypadku zgodności (najczęściej), następuje wykonanie operacji na badanym punkcie – zazwyczaj zmiana przypisanej mu wartości.

Warto zauważyć, że w przeciwieństwie do typowych przekształceń punktowych, tj. filtry konwolucyjne, medianowe, logiczne i inne, operacje morfologiczne nie modyfikują całego obrazu, lecz tą jego część, której otoczenie odpowiada wzorcowi elementu strukturalnego.

Dylatacja Dylatacja, czyli rozszerzanie, jest zastosowaniem sumy Minkowskiego do obrazuJ. Serra, Image Analysis and Mathematical Morphology, Academic Press, London 1982, .:

lub

Operacja ta przykłada obrócony element strukturalny do każdego piksela na obrazie. Jeżeli choć jeden piksel z sąsiedztwa objętego przez ma wartość równą jeden, punkt centralny również otrzymuje wartość jeden. W przeciwnym wypadku przypisywane jest mu zero.

Istotny wpływ na wynik dylatacji ma wybór elementu strukturalnego. Przy niestandardowym kształcie rozrost obiektu jest kierunkowy. Z kolei jeżeli punkt centralny nie leży w środku elementu, rozrost jest niesymetryczny. Najbardziej neutralny efekt daje wykorzystanie elementu zbliżonego kształtem do koła. Konsekwencją dylatacji jest zwiększenie obiektu, zniknięcie detali i wypełnienie „dziur” w niespójnym obszarze. Często, aby uzyskać pożądany efekt, stosuje się dylatacje wielokrotną. thumb|left|799px|Przykład dylatacji zastosowanej na obrazie binarnym

Erozja Erozja, czyli zwężanie, jest zastosowaniem różnicy Minkowskiego do obrazu:

gdzie oznacza przyłożenie do piksela

Operacja ta przykłada obrócony element strukturalny do każdego piksela na obrazie. Jeżeli choć jeden piksel z sąsiedztwa objętego przez ma wartość równą zero, punkt centralny również otrzymuje wartość zero. W przeciwnym wypadku jego wartość nie ulega zmianie.

Erozja jest operacją dualną do dylatacji – jeżeli wykonamy negatyw obrazu, operacje te przejdą jedna w drugą. Również na erozję istotny wpływ ma wybór elementu strukturalnego. Konsekwencją erozji jest zmniejszenie obiektu, zniknięcie wąskich gałęzi i małych obiektów, likwidacja szumu, rozszerzenie się „dziur” w niespójnym obszarze – przyjmują one kształt elementu strukturalnego. thumb|left|799px|Przykład zastosowania operatora erozji na obrazie binarnym – dla sąsiedztwa ośmiospójnego (przyjęto, że piksele za granicą obrazu przyjmują wartość 0) thumb|left|799px|Przykład zastosowania operatora erozji na obrazie binarnym – dla sąsiedztwa czterospójnego (przyjęto, że piksele za granicą obrazu przyjmują wartość 0)

Otwarcie Otwarcie morfologiczne jest równoważne nałożeniu operacji dylatacji na wynik erozji obrazu pierwotnego

Operacja otwarcia zachowuje rozmiary obiektów obrazu przy ich jednoczesnym wygładzeniu – usunięciu wszystkich „wystających” elementów. Zwiększanie rozmiaru elementu strukturalnego, skutkuje usuwaniem coraz większych detali obrazu oraz upodabnianiem powstałych obszarów do elementu strukturalnego. Dodatkowo, operacja otwarcia posiada własność idempotencji, czyli niezmienności wyniku niezależnie od wielokrotności stosowania operacji

Istnieje pojęcie operacji otwarcia „wielopoziomowego”, czyli wielokrotnego zastosowania operatorów erozji, a następnie dylatacji

które jest równoważne zastosowaniu pojedynczej operacji otwarcia z odpowiednio większym elementem strukturalnym. thumb|left|799px|Przykład operacji otwarcia zastosowanej na obrazie binarnym

Domknięcie Operacja domknięcia morfologicznego jest równoważne nałożeniu operacji erozji na wynik dylatacji obrazu pierwotnego

Domknięcie usuwa z obrazu wszelkie „dziury” oraz wklęsłości mniejsze od elementu strukturalnego. Może skutkować „połączeniem się” blisko położonych detali (operacja ekstensywna). Zwiększanie wielkości elementu strukturalnego powoduje wypełnianie coraz większych „dziur” oraz wklęsłości, upodabnianiem powstałych obszarów do elementu strukturalnego i łączeniem coraz dalej położonych detali. Operacja domknięcia jest także idempotentna (kolejne stosowania nie zmieniają obrazu)

thumb|left|799px|Przykład operacji domknięcia zastosowanej na obrazie binarnym

Operacja Hit-or-Miss Operacja Hit-or-Miss, Hit-and-Miss, czasem nazywana przekształceniem „trafi-nie trafi”, jest jedną z podstawowych operacji morfologicznych. Jej działanie można opisać jako przykładanie elementu strukturalnego do każdego punktu analizowanego obrazu, przy czym jeżeli otoczenie punktu odpowiada elementowi strukturalnemu, to odpowiadający punkt obrazu wynikowego otrzymuje wartość 1, w przeciwnym wypadku – piksel obrazu wynikowego otrzymuje wartość 0.

Operacja Hit-or-Miss; może być wykonywana wielokrotnie aż do uzyskania obrazu niezmieniającego się w kolejnych iteracjach i służy do wykrywania cech na obrazie – przez odpowiednią modyfikację lub zestawienie elementów strukturalnych (wyniki stosowania kilku elementów strukturalnych można sumować lub mnożyć) – np. punktów charakterystycznych.

Ze względu na jego elementarność, przekształcenie Hit-or-Miss można stosować do wyprowadzenia prawie wszystkich pozostałych operacji morfologicznych. Na przykład operator erozji można zdefiniować jako operację Hit-or-Miss z elementem strukturalnym

Operator dylatacji można zdefiniować jako negację operacji Hit-or-Miss z elementem strukturalnym

Pocienianie Pocienianie lub ścienianie (ang. ) jest oparte na zastosowaniu operacji Hit-or-Miss, a dokładniej odjęciu jej wyniku od obrazu pierwotnego

Operację można interpretować jako przykładanie elementu strukturalnego do każdego piksela obrazu (tak, aby punkt centralny okna pokrywał się z analizowanym pikselem), a następnie brak zmiany wartości punktu, jeżeli element strukturalny nie pasuje do otoczenia piksela, zmianą wartości punktu na 0, w wypadku przeciwnym.

Operację można wykonywać wielokrotnie, aż do chwili, gdy kolejne stosowania nie zmieniają obrazu wynikowego. Najczęściej stosuje się obracanie elementu strukturalnego (o kąt w przypadku siatki kwadratowej) pomiędzy kolejnymi przekształceniami.

W zależności od charakterystyki elementu strukturalnego, stosowanie pocieniania daje różne efekty. Podstawowym zastosowaniem operacji jest wykrywanie krawędzi oraz wyznaczanie szkieletu obrazuS. Marchand-Maillet, Y.M. Sharaiha, Binary Digital Image Processing: A Discrete Approach, Academic Press, London 2000, ..

Pogrubianie Pogrubianie (ang. ) jest oparte na dodaniu wyniku przekształcenia Hit-or-Miss od obrazu pierwotnego

Operację można interpretować jako przykładanie elementu strukturalnego do każdego piksela obrazu (tak, aby punkt centralny okna pokrywał się z analizowanym pikselem) a następnie brak zmiany wartości punktu, jeżeli element strukturalny nie pasuje do otoczenia piksela, zmianą wartości punktu na 1 w wypadku przeciwnym.

Operację można wykonywać wielokrotnie aż do chwili, gdy kolejne stosowania nie zmieniają obrazu wynikowego. Najczęściej stosuje się obracanie elementu strukturalnego (o kąt w przypadku siatki kwadratowej) pomiędzy kolejnymi przekształceniami.

Transformata odległościowa Transformata odległościowa, zwana też funkcją odległości, jest przekształceniem morfologicznym, które dla każdego punktu obrazu o wartości 1 przyporządkowuje (na obrazie wynikowym) wartość równą minimalnej odległości tego punktu od brzegu figury. Pozostałym punktom przyporządkowana zostaje wartość 0.

Można rozważać różne metryki wyrażania odległości między pikselami obrazu, należą do nich np. metryka euklidesowa, metryka Manhattan, metryka Czebyszewa.

Transformata odległościowa jest wykorzystywana m.in. do wyznaczania szkieletu obrazu.

Top hat i Bottom hat Transformacje Top hat oraz Bottom hat są zdefiniowane jakoG. Bradski, A. Kaehler, Learning OpenCV: Computer Vision with the OpenCV Library, O’Reilly Media Inc., 2008, .

jednak ze względu na swoje właściwości stosowane są zazwyczaj do przetwarzania obrazów monochromatycznych w celu wykrycia ekstremów. Dla takich obrazów operacja Top hat pozwala na ujednolicenie ciemnego tła i pozostawienie jasnych obiektów, a Bottom hat – pozostawienie obiektów ciemniejszych od tła. Ich zestawienie można wykorzystać do poprawy kontrastu obrazu

Znajdowanie konturu Do wyznaczenia konturu obiektów na obrazie binarnym można stosować następujące techniki: