Cyfrowe przetwarzanie obrazu -Digital image processing

Cyfrowe przetwarzanie obrazu polega na wykorzystaniu komputera cyfrowego do przetwarzania obrazów cyfrowych za pomocą algorytmu . Jako podkategoria lub dziedzina cyfrowego przetwarzania sygnałów , cyfrowe przetwarzanie obrazu ma wiele zalet w porównaniu z analogowym przetwarzaniem obrazu . Pozwala na zastosowanie znacznie szerszego zakresu algorytmów do danych wejściowych i pozwala uniknąć problemów, takich jak nagromadzenie szumu i zniekształceń podczas przetwarzania. Ponieważ obrazy są definiowane w dwóch wymiarach (być może więcej), cyfrowe przetwarzanie obrazu można modelować w postaci systemów wielowymiarowych. Na generowanie i rozwój cyfrowego przetwarzania obrazu wpływają głównie trzy czynniki: po pierwsze, rozwój komputerów; po drugie, rozwój matematyki (zwłaszcza tworzenie i doskonalenie teorii matematyki dyskretnej); po trzecie, wzrosło zapotrzebowanie na szeroki zakres zastosowań w środowisku, rolnictwie, wojsku, przemyśle i medycynie.

Historia

Wiele technik cyfrowego przetwarzania obrazu lub cyfrowego przetwarzania obrazu, jak to często się nazywa, zostało opracowanych w latach 60. w Bell Laboratories , Jet Propulsion Laboratory , Massachusetts Institute of Technology , University of Maryland i kilku innych placówkach badawczych. z zastosowaniem do zdjęć satelitarnych , konwersji standardów przewodowych zdjęć , obrazowania medycznego , wideofonu , rozpoznawania znaków i ulepszania fotografii. Celem wczesnej obróbki obrazu była poprawa jakości obrazu. Został skierowany do ludzi, aby poprawić efekt wizualny ludzi. W przetwarzaniu obrazu wejście jest obrazem niskiej jakości, a wyjściem jest obraz o lepszej jakości. Typowe przetwarzanie obrazu obejmuje ulepszanie obrazu, przywracanie, kodowanie i kompresję. Pierwszym udanym zastosowaniem było American Jet Propulsion Laboratory (JPL). Użyli technik przetwarzania obrazu, takich jak korekcja geometryczna, transformacja gradacji, usuwanie szumów itp. na tysiącach zdjęć księżycowych przesłanych przez Space Detector Ranger 7 w 1964 roku, biorąc pod uwagę położenie słońca i otoczenie księżyca. Wpływ udanego odwzorowania mapy powierzchni Księżyca przez komputer okazał się ogromnym sukcesem. Później przeprowadzono bardziej skomplikowaną obróbkę obrazu na blisko 100 000 zdjęć przesłanych przez statek kosmiczny, dzięki czemu uzyskano mapę topograficzną, mapę barwną i panoramiczną mozaikę księżyca, które osiągnęły niezwykłe rezultaty i położyły solidne podstawy do lądowania człowieka na Ziemi. księżyc.

Koszt przetwarzania był jednak dość wysoki w przypadku sprzętu komputerowego tamtych czasów. Zmieniło się to w latach 70., kiedy cyfrowe przetwarzanie obrazu rozpowszechniło się wraz z pojawieniem się tańszych komputerów i dedykowanego sprzętu. Doprowadziło to do przetwarzania obrazów w czasie rzeczywistym w przypadku niektórych specjalnych problemów, takich jak konwersja standardów telewizyjnych . Ponieważ komputery ogólnego przeznaczenia stały się szybsze, zaczęły przejmować rolę dedykowanego sprzętu do wszystkich operacji poza najbardziej wyspecjalizowanymi i intensywnie korzystającymi z komputera. Wraz z szybkimi komputerami i procesorami sygnałowymi dostępnymi w 2000 roku, cyfrowe przetwarzanie obrazu stało się najpopularniejszą formą przetwarzania obrazu i jest powszechnie stosowane, ponieważ jest nie tylko najbardziej wszechstronną, ale także najtańszą metodą.

Czujniki obrazu

Podstawą nowoczesnych przetworników obrazu jest technologia półprzewodników z tlenku metalu (MOS), która wywodzi się z wynalezienia tranzystora MOSFET (tranzystor polowy MOS) przez Mohameda M. Atallę i Dawona Kahnga w Bell Labs w 1959 roku. opracowanie cyfrowych półprzewodnikowych czujników obrazu, w tym urządzenia ze sprzężeniem ładunkowym (CCD), a później czujnika CMOS .

Urządzenie ze sprzężeniem ładunkowym zostało wynalezione przez Willarda S. Boyle'a i George'a E. Smitha w Bell Labs w 1969 roku. Podczas badań nad technologią MOS zdali sobie sprawę, że ładunek elektryczny jest analogią bańki magnetycznej i że może być przechowywany na małym Kondensator MOS . Ponieważ wyprodukowanie szeregu kondensatorów MOS w rzędzie było dość proste , podłączyli do nich odpowiednie napięcie, aby można było przenosić ładunek z jednego do drugiego. CCD to obwód półprzewodnikowy, który został później wykorzystany w pierwszych cyfrowych kamerach wideo do transmisji telewizyjnych .

Aktywny czujnik pikselowy NMOS ( APS) został wynaleziony przez Olympus w Japonii w połowie lat 80. XX wieku. Było to możliwe dzięki postępom w produkcji urządzeń półprzewodnikowych MOS , przy czym skalowanie MOSFET osiągało mniejsze mikrony, a następnie submikronowe poziomy. APS NMOS został wyprodukowany przez zespół Tsutomu Nakamury w firmie Olympus w 1985 roku. Czujnik CMOS z aktywnymi pikselami (czujnik CMOS) został później opracowany przez zespół Erica Fossuma z NASA Jet Propulsion Laboratory w 1993 roku. Do 2007 roku sprzedaż czujników CMOS przewyższyły czujniki CCD.

Kompresja obrazu

Ważnym osiągnięciem w technologii cyfrowej kompresji obrazu była dyskretna transformata kosinusowa (DCT), technika kompresji stratnej po raz pierwszy zaproponowana przez Nasira Ahmeda w 1972 roku. Kompresja DCT stała się podstawą dla formatu JPEG , który został wprowadzony przez Joint Photographic Experts Group w 1992 roku. JPEG kompresuje obrazy do znacznie mniejszych rozmiarów i jest najczęściej używanym formatem plików graficznych w Internecie . Wysoce wydajny algorytm kompresji DCT był w dużej mierze odpowiedzialny za szerokie rozpowszechnienie obrazów cyfrowych i zdjęć cyfrowych , z kilkoma miliardami obrazów JPEG produkowanymi każdego dnia od 2015 roku.

Cyfrowy procesor sygnałowy (DSP)

Elektroniczne przetwarzanie sygnału zostało zrewolucjonizowane przez szerokie zastosowanie technologii MOS w latach 70-tych. Technologia układów scalonych MOS była podstawą pierwszych jednoukładowych mikroprocesorów i mikrokontrolerów we wczesnych latach 70-tych, a następnie pierwszych jednoukładowych układów cyfrowego procesora sygnałowego (DSP) pod koniec lat 70-tych. Chipy DSP są od tego czasu szeroko stosowane w cyfrowym przetwarzaniu obrazu.

Algorytm kompresji obrazu z dyskretną transformacją kosinusową (DCT) został szeroko zaimplementowany w układach DSP, a wiele firm opracowuje układy DSP oparte na technologii DCT. DCT są szeroko stosowane do kodowania , dekodowania, kodowania wideo , kodowania audio , multipleksowania , sygnałów sterujących, sygnalizacji , konwersji analogowo-cyfrowej , formatowania luminancji i różnic kolorów oraz formatów kolorów, takich jak YUV444 i YUV411 . DCT są również używane do kodowania operacji, takich jak szacowanie ruchu , kompensacja ruchu , przewidywanie międzyramkowe, kwantyzacja , ważenie percepcyjne, kodowanie entropii , kodowanie zmiennych i wektory ruchu oraz operacje dekodowania, takie jak operacje odwrotne między różnymi formatami kolorów ( YIQ , YUV i RGB ) do celów wyświetlania. DCT są również powszechnie używane w układach kodera/dekodera telewizji wysokiej rozdzielczości (HDTV).

Obrazowanie medyczne

W 1972 roku inżynier z brytyjskiej firmy EMI Housfield wynalazł urządzenie do rentgenowskiej tomografii komputerowej do diagnostyki głowy, czyli tak zwanej CT (tomografia komputerowa). Metoda jądra CT opiera się na projekcji przekroju głowy człowieka i jest przetwarzana przez komputer w celu rekonstrukcji obrazu przekroju, co nazywa się rekonstrukcją obrazu. W 1975 roku firma EMI z powodzeniem opracowała tomograf komputerowy całego ciała, dzięki któremu uzyskano wyraźny obraz tomograficzny różnych części ludzkiego ciała. W 1979 roku ta technika diagnostyczna zdobyła Nagrodę Nobla. Technologia cyfrowego przetwarzania obrazu do zastosowań medycznych została wprowadzona do Galerii Sław Kosmicznej Fundacji Kosmicznej w 1994 roku.

Zadania

Cyfrowe przetwarzanie obrazu pozwala na stosowanie znacznie bardziej skomplikowanych algorytmów, a co za tym idzie, może oferować zarówno bardziej wyrafinowaną wydajność przy prostych zadaniach, jak i implementację metod, które nie byłyby możliwe za pomocą środków analogowych.

W szczególności cyfrowe przetwarzanie obrazu to konkretne zastosowanie i praktyczna technologia oparta na:

Niektóre techniki stosowane w cyfrowym przetwarzaniu obrazu obejmują:

Cyfrowe transformacje obrazu

Filtracja

Filtry cyfrowe służą do rozmycia i wyostrzenia obrazów cyfrowych. Filtrowanie można przeprowadzić poprzez:

  • splot ze specjalnie zaprojektowanymi jądrami (macierz filtrów) w domenie przestrzennej
  • maskowanie określonych obszarów częstotliwości w domenie częstotliwości (Fouriera)

Poniższe przykłady pokazują obie metody:

Typ filtra Jądro lub maska Przykład
Oryginalny obraz Transformacja afiniczna Original Checkerboard.jpg
Przestrzenne dolnoprzepustowe Filtr średniej przestrzennej Checkerboard.png
Przestrzenna górnoprzepustowa Filtr przestrzenny Laplace'a Checkerboard.png
Reprezentacja Fouriera Pseudo kod:

obraz = szachownica

F = transformata Fouriera obrazu

Pokaż obraz: log(1+Wartość bezwzględna (F))

Szachownica przestrzeni Fouriera.png
Dolnoprzepustowy Fouriera Dolnoprzepustowy Butterworth Checkerboard.png Lowpass FFT Filtered checkerboard.png
Górnoprzełęcz Fouriera Highpass Butterworth Checkerboard.png Highpass FFT Filtered checkerboard.png

Dopełnienie obrazu w filtrowaniu w domenie Fouriera

Obrazy są zazwyczaj dopełniane przed przekształceniem do przestrzeni Fouriera, poniższe filtrowane obrazy górnoprzepustowe ilustrują konsekwencje różnych technik dopełniania:

Zero wyściełane Powtarzana krawędź wyściełana
Highpass FFT Filtered checkerboard.png Highpass FFT Replicate.png

Zwróć uwagę, że filtr górnoprzepustowy pokazuje dodatkowe krawędzie po dopełnieniu zerem w porównaniu z powtarzanym dopełnieniem krawędzi.

Filtrowanie przykładów kodu

Przykład MATLAB do filtrowania górnoprzepustowego w domenie przestrzennej.

img=checkerboard(20);                           % generate checkerboard
% **************************  SPATIAL DOMAIN  ***************************
klaplace=[0 -1 0; -1 5 -1;  0 -1 0];             % Laplacian filter kernel
X=conv2(img,klaplace);                          % convolve test img with
                                                % 3x3 Laplacian kernel
figure()
imshow(X,[])                                    % show Laplacian filtered
title('Laplacian Edge Detection')

Transformacje afiniczne

Transformacje afiniczne umożliwiają podstawowe transformacje obrazu, w tym skalowanie, obracanie, przesuwanie, odbicie lustrzane i ścinanie, jak pokazano w poniższych przykładach:

Nazwa transformacji Macierz afiniczna Przykład
Tożsamość Tożsamość szachownicy.svg
Odbicie Odbicie szachownicy.svg
Skala Skala szachownicy.svg
Obracać się Szachownica rotacja.svggdzie θ = π/6=30°
Ścinanie Ścinanie szachownicy.svg

Aby zastosować macierz afiniczną do obrazu, obraz jest konwertowany na macierz, w której każdy wpis odpowiada intensywności pikseli w tej lokalizacji. Następnie położenie każdego piksela może być reprezentowane jako wektor wskazujący współrzędne tego piksela na obrazie, [x, y], gdzie xiy to wiersz i kolumna piksela w macierzy obrazu. Pozwala to na pomnożenie współrzędnych przez macierz transformacji afinicznej, która określa pozycję, do której wartość piksela zostanie skopiowana w obrazie wyjściowym.

Jednak, aby umożliwić przekształcenia wymagające przekształceń translacyjnych, potrzebne są trójwymiarowe współrzędne jednorodne . Trzeci wymiar jest zwykle ustawiony na stałą niezerową, zwykle 1, tak że nowa współrzędna to [x, y, 1]. Pozwala to na pomnożenie wektora współrzędnych przez macierz 3 na 3, umożliwiając przesunięcia translacji. Tak więc trzeci wymiar, który jest stałą 1, umożliwia translację.

Ponieważ mnożenie macierzy jest asocjacyjne, wiele transformacji afinicznych można łączyć w jedną transformację afiniczną, mnożąc macierz każdej transformacji w kolejności, w jakiej są wykonywane. Skutkuje to pojedynczą macierzą, która po zastosowaniu do wektora punktowego daje ten sam wynik, co wszystkie poszczególne transformacje wykonane kolejno na wektorze [x, y, 1]. W ten sposób sekwencję macierzy transformacji afinicznej można zredukować do pojedynczej macierzy transformacji afinicznej.

Na przykład współrzędne dwuwymiarowe umożliwiają obrót tylko wokół początku (0, 0). Jednak trójwymiarowe współrzędne jednorodne mogą być użyte najpierw do translacji dowolnego punktu do (0, 0), następnie do wykonania obrotu, a na końcu do translacji początku (0, 0) z powrotem do oryginalnego punktu (przeciwieństwo pierwszego translacji). Te 3 transformacje afiniczne można połączyć w jedną macierz, umożliwiając w ten sposób obrót wokół dowolnego punktu obrazu.

Odszumianie obrazu za pomocą morfologii

Morfologia matematyczna jest odpowiednia do odszumiania obrazów. Elementy strukturyzujące są ważne w morfologii matematycznej .

Poniższe przykłady dotyczą elementów strukturyzowania. Funkcja odszumiania, obraz jako I i element strukturyzujący jako B pokazano poniżej i w tabeli.

np

Zdefiniuj dylatację(I, B)(i,j) = . Niech dylatacja(I,B) = D(I,B)

D(I', B)(1,1) =

Zdefiniuj Erozja(I, B)(i,j) = . Niech Erozja(I,B) = E(I,B)

E(I', B)(1,1) =

Po dylatacji Po erozji

Metoda otwierania to po prostu najpierw erozja, a następnie dylatacja, podczas gdy metoda zamykania jest odwrotnie. W rzeczywistości D(I,B) i E(I,B) mogą zostać zaimplementowane przez splot

Element strukturyzujący Maska Kod Przykład
Oryginalny obraz Nic Użyj Matlaba, aby przeczytać oryginalny obraz
original = imread('scene.jpg');
image = rgb2gray(original);
[r, c, channel] = size(image);
se = logical([1 1 1 ; 1 1 1 ; 1 1 1]);
[p, q] = size(se);
halfH = floor(p/2);
halfW = floor(q/2);
time = 3;           % denoising 3 times with all method
Oryginalny lotos
Rozszerzanie się Użyj Matlaba do dylatacji
imwrite(image, "scene_dil.jpg")
extractmax = zeros(size(image), class(image));
for i = 1 : time
    dil_image = imread('scene_dil.jpg');
    for col = (halfW + 1): (c - halfW)
        for row = (halfH + 1) : (r - halfH)
            dpointD = row - halfH;
            dpointU = row + halfH;
            dpointL = col - halfW;
            dpointR = col + halfW;
            dneighbor = dil_image(dpointD:dpointU, dpointL:dpointR);
            filter = dneighbor(se);
            extractmax(row, col) = max(filter);
        end
    end
    imwrite(extractmax, "scene_dil.jpg");
end
Odszumianie obrazu metodą dylatacji
Erozja Użyj Matlaba do erozji
imwrite(image, 'scene_ero.jpg');
extractmin = zeros(size(image), class(image));
for i = 1: time
    ero_image = imread('scene_ero.jpg');
    for col = (halfW + 1): (c - halfW)
        for row = (halfH +1): (r -halfH)
            pointDown = row-halfH;
            pointUp = row+halfH;
            pointLeft = col-halfW;
            pointRight = col+halfW;
            neighbor = ero_image(pointDown:pointUp,pointLeft:pointRight);
            filter = neighbor(se);
            extractmin(row, col) = min(filter);
        end
    end
    imwrite(extractmin, "scene_ero.jpg");
end
Lotos wolna erozja.jpg
Otwarcie Użyj Matlab do otwierania
imwrite(extractmin, "scene_opening.jpg")
extractopen = zeros(size(image), class(image));
for i = 1 : time
    dil_image = imread('scene_opening.jpg');
    for col = (halfW + 1): (c - halfW)
        for row = (halfH + 1) : (r - halfH)
            dpointD = row - halfH;
            dpointU = row + halfH;
            dpointL = col - halfW;
            dpointR = col + halfW;
            dneighbor = dil_image(dpointD:dpointU, dpointL:dpointR);
            filter = dneighbor(se);
            extractopen(row, col) = max(filter);
        end
    end
    imwrite(extractopen, "scene_opening.jpg");
end
Lotus darmowe otwarcie.jpg
Zamknięcie Użyj Matlaba do zamknięcia
imwrite(extractmax, "scene_closing.jpg")
extractclose = zeros(size(image), class(image));
for i = 1 : time
    ero_image = imread('scene_closing.jpg');
    for col = (halfW + 1): (c - halfW)
        for row = (halfH + 1) : (r - halfH)
            dpointD = row - halfH;
            dpointU = row + halfH;
            dpointL = col - halfW;
            dpointR = col + halfW;
            dneighbor = ero_image(dpointD:dpointU, dpointL:dpointR);
            filter = dneighbor(se);
            extractclose(row, col) = min(filter);
        end
    end
    imwrite(extractclose, "scene_closing.jpg");
end
Odszumianie obrazu metodą zamykania

Aby zastosować metodę odszumiania obrazu, obraz jest konwertowany na skalę szarości. Maska z metodą odszumiania to macierz logiczna z . Metody odszumiania zaczynają się od środka obrazu z połową wysokości, połową szerokości, a kończą na granicy obrazu o numerze wiersza, numerze kolumny. Sąsiad jest blokiem na oryginalnym obrazie z granicą [punkt poniżej środka: punkt powyżej, punkt na lewo od środka: punkt na prawo od środka]. Konwolucja sąsiad i element strukturyzujący, a następnie zamień środek na minimum sąsiada.

Weźmy na przykład metodę zamykania.

Najpierw dylatacja

  1. Przeczytaj obraz i przekonwertuj go na skalę szarości za pomocą Matlaba.
    1. Uzyskaj rozmiar obrazu. Numery wierszy zwracanych wartości i numery kolumn to granice, których użyjemy później.
    2. elementy strukturalne zależą od funkcji dylatacji lub erozji. Minimum sąsiada piksela prowadzi do metody erozji, a maksimum sąsiada prowadzi do metody dylatacji.
    3. Ustaw czas dylatacji, erozji i zamykania.
  2. Utwórz macierz zerową o takim samym rozmiarze jak oryginalny obraz.
  3. Dylatacja najpierw z oknem strukturalnym.
    1. okno strukturyzacji to macierz 3*3 i splot
    2. Dla pętli wyodrębnij minimum z oknem z zakresu wierszy [2 ~ wysokość obrazu - 1] z zakresem kolumn [2 ~ szerokość obrazu - 1]
  4. Wypełnij minimalną wartość do matrycy zerowej i zapisz nowy obraz
    1. Jeśli chodzi o granicę, można to jeszcze poprawić. Ponieważ w metodzie granica jest ignorowana. Do radzenia sobie z granicami można zastosować elementy dopełniające.

Następnie erozja (weź obraz dylatacji jako dane wejściowe)

  1. Utwórz macierz zerową o takim samym rozmiarze jak oryginalny obraz.
  2. Erozja z oknem strukturalnym.
    1. okno strukturyzacji to macierz 3*3 i splot
    2. Dla pętli wyodrębnij maksimum z oknem z zakresu wierszy [2 ~ wysokość obrazu - 1] z zakresem kolumn [2 ~ szerokość obrazu - 1]
  3. Wypełnij maksymalną wartość do matrycy zerowej i zapisz nowy obraz
    1. Jeśli chodzi o granicę, można to jeszcze poprawić. Ponieważ w metodzie granica jest ignorowana. Do radzenia sobie z granicami można zastosować elementy dopełniające.
  4. Wyniki są takie, jak pokazano w powyższej tabeli

Aplikacje

Obrazy z aparatu cyfrowego

Aparaty cyfrowe zazwyczaj zawierają wyspecjalizowany sprzęt do cyfrowego przetwarzania obrazu — dedykowane układy scalone lub dodatkowe obwody w innych układach — w celu konwersji nieprzetworzonych danych z ich przetwornika obrazu na obraz z korekcją kolorów w standardowym formacie pliku obrazu . Dodatkowe techniki przetwarzania końcowego zwiększają ostrość krawędzi lub nasycenie kolorów, aby tworzyć bardziej naturalnie wyglądające obrazy.

Film

Westworld (1973) był pierwszym filmem pełnometrażowym, w którym wykorzystano cyfrowe przetwarzanie obrazu do fotografii pikselowej , aby symulować punkt widzenia Androida. Przetwarzanie obrazu jest również szeroko stosowane do uzyskania efektu chroma key , który zastępuje tło aktorów naturalną lub artystyczną scenerią.

Wykrywanie twarzy

Proces wykrywania twarzy

Wykrywanie twarzy można zaimplementować za pomocą morfologii matematycznej , dyskretnej transformacji kosinusowej , która jest zwykle nazywana DCT, oraz projekcji poziomej (matematyka) .

Metoda ogólna z metodą opartą na cechach

Metoda wykrywania twarzy oparta na funkcjach wykorzystuje odcień skóry, wykrywanie krawędzi, kształt twarzy i cechy twarzy (takie jak oczy, usta itp.) w celu wykrycia twarzy. Odcień skóry, kształt twarzy i wszystkie unikalne elementy, które ma tylko ludzka twarz, można określić jako cechy.

Wyjaśnienie procesu

  1. Mając serię zdjęć twarzy, najpierw wyodrębnij zakres odcieni skóry, próbując obrazy twarzy. Zakres odcieni skóry to tylko filtr skóry.
    1. Miarę wskaźnika podobieństwa strukturalnego (SSIM) można zastosować do porównywania obrazów pod kątem wyodrębniania odcienia skóry.
    2. Zwykle dla filtra skóry odpowiednie są przestrzenie kolorów HSV lub RGB. Np. tryb HSV, zakres odcieni skóry to [0,48,50] ~ [20,255,255]
  2. Po przefiltrowaniu zdjęć z odcieniem skóry, aby uzyskać krawędź twarzy, morfologia i DCT są używane do usuwania szumów i wypełniania brakujących obszarów skóry.
    1. Metoda otwierania lub zamykania może być wykorzystana do wypełnienia brakującej skóry.
    2. DCT ma na celu unikanie obiektów o karnacji podobnej do tonu. Ponieważ ludzkie twarze zawsze mają wyższą fakturę.
    3. Do wykrywania krawędzi twarzy można zastosować operator Sobela lub inne operatory.
  3. Aby ustawić ludzkie cechy, takie jak oczy, korzystając z projekcji i znaleźć szczyt histogramu projekcji, można uzyskać szczegóły, takie jak mysz, włosy i usta.
    1. Projekcja to po prostu projekcja obrazu, aby zobaczyć wysoką częstotliwość, która zwykle jest pozycją funkcji.

Metoda poprawy jakości obrazu

Na jakość obrazu mogą mieć wpływ drgania aparatu, prześwietlenie, zbyt scentralizowany rozkład poziomu szarości, szum itp. Na przykład problem z szumem można rozwiązać za pomocą metody wygładzania , a problem z rozkładem poziomu szarości można rozwiązać za pomocą wyrównania histogramu .

Metoda wygładzania

Na rysunku, jeśli jest jakiś niezadowolony kolor, bierzemy trochę koloru wokół niezadowolonego koloru i uśredniamy je. To prosty sposób na myślenie o metodzie wygładzania.

Metoda wygładzania może być zaimplementowana za pomocą maski i Convolution . Weź mały obrazek i maskę jak poniżej.

obraz jest

maska ​​jest

Po splocie i wygładzeniu obraz jest

Oberseving obraz[1, 1], obraz[1, 2], obraz[2, 1] i obraz[2, 2].

Oryginalny piksel obrazu to 1, 4, 28, 30. Po masce wygładzania piksel staje się odpowiednio 9, 10, 9, 9.

nowy obraz[1, 1] = * (obraz[0,0]+obraz[0,1]+obraz[0,2]+obraz[1,0]+obraz[1,1]+obraz[1,2 ]+obraz[2,0]+obraz[2,1]+obraz[2,2])

nowy obraz[1, 1] = piętro( * (2+5+6+3+1+4+1+28+30)) = 9

nowy obraz[1, 2] = piętro({ * (5+6+5+1+4+6+28+30+2)) = 10

nowy obraz[2, 1] = piętro( * (3+1+4+1+28+30+73+3+2)) = 9

nowy obraz[2, 2] = piętro( * (1+4+6+28+30+2+3+2+2)) = 9

Metoda histogramu poziomu szarości

Ogólnie biorąc, biorąc pod uwagę histogram poziomu szarości z obrazu, jak poniżej. Zmiana histogramu na równomierny rozkład z obrazu jest zwykle tym, co nazywamy wyrównaniem histogramu .

Rysunek 1
Rysunek 2

W dyskretnym czasie obszar histogramu poziomu szarości to (patrz rysunek 1), a obszar równomiernego rozkładu to (patrz rysunek 2). Oczywiste jest, że obszar się nie zmieni, więc .

Z rozkładu jednostajnego prawdopodobieństwo wystąpienia wynosi , gdy

W czasie ciągłym równanie to .

Co więcej, oparta na definicji funkcji, metoda histogramu poziomu szarości jest jak znalezienie funkcji , która spełnia f(p)=q.

Metoda doskonalenia Sprawa Przed poprawą Proces Po poprawie
Metoda wygładzania hałas

w Matlabie do oryginalnego obrazu dodawana jest sól i pieprz z parametrem 0.01
w celu stworzenia zaszumionego obrazu.

Hełm z hałasem.jpg
  1. odczytaj obraz i przekonwertuj obraz na skalę szarości
  2. splot szarej wyprzedaży obrazu z maską
  3. odszumiony obraz będzie wynikiem kroku 2.
Hełm bez hałasu.jpg
Wyrównanie histogramu Dystrybucja poziomu szarości zbyt scentralizowana
Scena jaskini przed poprawą.jpg
Zapoznaj się z wyrównaniem histogramu
Scena jaskini po ulepszeniu.jpg

Technologie wykrywania i monitorowania zmęczenia

W ciągu ostatniej dekady nastąpił znaczny postęp w technologii monitorowania zmęczenia. Te innowacyjne rozwiązania technologiczne są już dostępne na rynku i oferują realne korzyści w zakresie bezpieczeństwa kierowcom, operatorom i innym pracownikom zmianowym we wszystkich branżach.

Twórcy oprogramowania, inżynierowie i naukowcy opracowują oprogramowanie do wykrywania zmęczenia przy użyciu różnych sygnałów fizjologicznych w celu określenia stanu zmęczenia lub senności. Pomiar aktywności mózgu (elektroencefalogram) jest powszechnie akceptowany jako standard w monitorowaniu zmęczenia. Inne technologie stosowane do określania zaburzeń związanych ze zmęczeniem obejmują pomiary objawów behawioralnych, takie jak; zachowanie oczu, kierunek patrzenia, mikrokorekty w sterowaniu i używaniu gazu oraz zmienność tętna.

Zobacz też

Bibliografia

Dalsze czytanie

Linki zewnętrzne