- MACIERZ GRAFIKI 2D
- PODSTAWOWE GRUPY PRZEKSZTAŁCEŃ
- BARWA I JEJ ATRYBUTY
- STEGANOGRAFIA
- HISTOGRAM
- KOPIOWANIE KRAWĘDZI
- ALGORYTMY KOMPRESJI OBRAZÓW
- ALGORYTM KWANTYZACJI
- OBRAZ ANALOGOWY
- OBRAZ CYFROWY
- OBRAZ BINARNY (uint8)
- OBRAZ BINARNY (1 bit)
- KODOWANIE BIEŻĄCYCH DŁUGOŚCI (RLE)
- DYSKRETNA TRANSFORMACJA COSINUSOWA (DCT)
- ODWROTNA TRANSFORMACJA COSINUSOWA (IDCT)
- JPG/JPEG
- PNG
- GIF
- SVG
- POSTSCRIPT
- KONWOLUCJA DYSKRETNA
- FILTR JEDNOSTKOWY
- FILTR JEDNOSTKOWY
- FILTR DOLNOPRZEPUSTOWY / UŚREDNIAJĄCY
- FILTRY STATYCZNE
- TRANSFORMACJA FOURIERA
- LaTeX
MACIERZ GRAFIKI 2D
[ a b tx ]
[ c d ty ]
[ u v w ]
- tx, ty => TRANSLATION (translacje, przesunięcie) Przesuwa obraz o tx w osi X oraz o ty w osi Y.
- a, d => SCALING (skalowanie) Zmienia rozmiar obrazu, mnożąc położenie każdego pikselu przez a na osi X i d na osi Y.
- cos(a), sin(b), -sin(c), cos(d) => ROTATE (rotacja) [a=b=c=d] Obrót obrazu o kąt a mierzony w radianach.
- tan(c), tan(b) => SKEWING (skrzywianie) Stopniowo przesuwaj obraz w kierunku równoległym do osi X lub Y.
- u, v, w => PERSPEKTYWA Symulowanie efektu perspektywy skrętu obrazu. (standardowo 0 0 1).
PODSTAWOWE GRUPY PRZEKSZTAŁCEŃ:
- geometryczne,
- punktowe => bezkontekstowe,
- kontekstowe => filtry: konwolucyjne (splotowe), logiczne i statyczne (medianowe),
- widmowe => wykorzystujące transformacje Fouriera,
- morfologiczne.
BARWA I JEJ ATRYBUTY
- Kolor (odcień) to różnica jakościowa barwy,
- Nasycenie to odstępstwo od barwy.
- Jasność określa ilość bieli lub czerni w danej barwie.
STEGANOGRAFIA
polega na ukrywaniu informacji w obrazach w sposób trudny do wykrycia. Można to osiągnąć poprzez manipulację pikselami obrazu lub wprowadzanie subtelnych zmian, które są niewidoczne dla oka ludzkiego.
Przykładowe techniki steganografii obejmują:
- Metodę najmniej znaczącego bitu (LSB), która polega na zastąpieniu najmniej znaczących bitów pikseli ukrytymi danymi.
- Metodę zmiany wartości pikseli, gdzie subtelne zmiany wprowadzane są do wartości pikseli, wykorzystując różnice między sąsiednimi pikselami.
- Metodę ukrywania w częstotliwościach, która wykorzystuje transformację Fouriera lub inne techniki przetwarzania częstotliwościowego do ukrycia danych w widmie częstotliwości obrazu.
- Metodę ukrywania w histogramie, która polega na manipulacji rozkładem intensywności pikseli w celu ukrycia danych.
Na wykładzie pokazano przykład ukrywania danych w obrazie Leny. Po przetworzeniu obrazu za pomocą funkcji w JavaScript otrzymano tablicę z zakodowanymi znakami, gdzie każdy znak jest reprezentowany przez odcień barwy. Istnieje również klucz kodujący i dekodujący, który umożliwia odczytanie ukrytych danych.
HISTOGRAM
używany do analizy rozkładu intensywności pikseli w obrazie i dokonywania odpowiednich dostosowań w celu poprawy ekspozycji, kontrastu i balansu kolorów.
Przykładowe zastosowania histogramu obejmują:
- Korekcję ekspozycji, gdzie można dostosować krzywą tonalną, aby poprawić równomierne rozłożenie jasności w obrazie.
- Korekcję kontrastu, pozwala na rozciągnięcie zakresu tonalnego, aby zwiększyć różnicę między jasnymi i ciemnymi obszarami obrazu.
- Korekcję balansu kolorów, pozwala na identyfikację przewagi pewnych kolorów i dostosowanie ich proporcji w celu uzyskania bardziej neutralnego lub pożądanego efektu kolorystycznego.
- Korekcję przetwarzania nieliniowego, może posłużyć do manipulacji krzywymi tonalnymi, takimi jak korekcja gamma.
Na przykładzie obrazu Leny, wykres histogramu został rozciągnięty na całą długość, co spowodowało zwiększenie zakresu kolorów, a tym samym uczyniło obraz bardziej żywym i dynamicznym.
KOPIOWANIE KRAWĘDZI
Dlaczego przy algorytmach filtracji cyfrowej zaproponowano przekopiowanie pikseli krawędzi bitmapy przekształcanej do bitmapy wynikowej?
Przekopiowanie pikseli krawędzi w algorytmach filtracji cyfrowej jest proponowane w celu zachowania krawędzi obrazu i uniknięcia utraty informacji. Krawędzie są istotnymi cechami wizualnymi, które przenoszą ważne informacje na temat obiektów na obrazie. Filtry cyfrowe mogą wpływać na wygląd krawędzi, dlatego przekopiowanie pikseli krawędzi do wynikowej bitmapy pomaga w zachowaniu wyraźności i ostrości krawędzi.
- ZACHOWANIE KRAWĘDZI OBRAZU
- UNIKNIĘCIE UTRATY INFORMACJI
ALGORYTMY KOMPRESJI OBRAZÓW
mają na celu zmniejszenie rozmiaru plików graficznych bez znaczącej utraty jakości obrazu. Istnieje wiele algorytmów kompresji stosowanych w grafice komputerowej 2D, a oto kilka z nich:
KOMPRESJA BEZSTRATNA:
- RLE (Run-Length Encoding): Ten prosty algorytm kompresji polega na zastępowaniu powtarzających się pikseli lub sekwencji pikseli jednym symbolem i liczbą ich powtórzeń.
- Huffman Coding: To technika kompresji entropijnej, która przypisuje krótsze kody binarne do często występujących symboli i dłuższe kody dla rzadziej występujących symboli.
- LZ77/LZ78: Te algorytmy kompresji słownikowej opierają się na znajdowaniu powtarzających się sekwencji danych i zastępowaniu ich krótszymi odwołaniami do wcześniej wystąpionych sekwencji.
KOMPRESJA STRATNA:
- JPEG (Joint Photographic Experts Group): Jest to jeden z najpopularniejszych formatów kompresji obrazów, który stosuje kompresję stratną. Wykorzystuje przekształcenia kosinusowe (DCT) i kwantyzację, aby zredukować precyzję niektórych części obrazu, minimalizując stratę jakości przy akceptowalnym poziomie kompresji.
- PNG (Portable Network Graphics): Ten format kompresji bezstratnej często stosuje metodę kompresji deflate, która łączy algorytm LZ77 z kodowaniem Huffmana. PNG jest szczególnie skuteczne w kompresji obrazów z dużą liczbą powtarzających się pikseli lub obszarów o jednolitym kolorze.
- WebP: Jest to nowoczesny format kompresji opracowany przez Google. Wykorzystuje zarówno kompresję bezstratną, jak i stratną, w zależności od wymagań obrazu. WebP oferuje zazwyczaj lepszą kompresję w porównaniu do formatu JPEG przy podobnej jakości obrazu.
ALGORYTM KWANTYZACJI
Algorytm kwantyzacji w grafice komputerowej 2D jest techniką kompresji stratnej, która polega na redukcji precyzji kolorów w obrazie.
OBRAZ ANALOGOWY
jest rejestrowany i przekazywany za pomocą sygnałów analogowych, charakteryzujących się płynnymi zmianami w czasie i przestrzeni. Jest reprezentowany jako sygnały ciągłe i wykorzystuje fizyczne nośniki, takie jak film czy taśma magnetyczna. Obrazy analogowe posiadają pełen zakres tonalny i płynne przejścia między kolorami. Jednak są bardziej podatne na degradację jakości w porównaniu do obrazów cyfrowych.
PRZYŁADY:
- pozytyw (odbitka fotograficzna),
- negatyw (film),
- diapozytyw (slajd),
- rysunek,
- obraz malarski.
OBRAZ CYFROWY
to reprezentacja graficzna, która jest zapisana i przetwarzana w postaci cyfrowej za pomocą bitów i bajtów. Obrazy cyfrowe są wykorzystywane w wielu dziedzinach, takich jak fotografika cyfrowa, projektowanie graficzne, animacja, gry komputerowe i wiele innych.
PARAMETRY OBRAZU CYFROWEGO:
- Rozdzielczość,
- Głębia kolorów => np. 8-bitowa (256 kolorów), 16-bitowa (65 536 kolorów) i 24-bitowa (16,7 miliona kolorów),
- Format pliku => np. JPEG, PNG, GIF, BMP itp.
- Proporcje obrazu => np. 4:3, 16:9, 21:9, 16:10
- Rozmiar pliku.
OBRAZ BINARNY (uint8)
to rodzaj obrazu cyfrowego, w którym piksele są reprezentowane przez 8-bitowe wartości liczbowe, przyjmujące tylko dwa stany: 0 (czarny) i 255 (biały). Są one szeroko wykorzystywane w analizie obrazów, przetwarzaniu wizualnym, segmentacji obiektów i rozpoznawaniu. Mają prostą strukturę, co ułatwia ich przetwarzanie i analizę. Znajdują zastosowanie w wizji komputerowej, analizie medycznej, robotyce, detekcji krawędzi i innych dziedzinach, a także jako reprezentacja informacji logicznych.
OBRAZ BINARNY (1 bit)
to prosty rodzaj obrazu cyfrowego, gdzie każdy piksel może mieć wartość 0 (czerń) lub 1 (biel). Są wykorzystywane w aplikacjach, gdzie istotne jest tylko wystąpienie lub brak danego elementu, a nie jego odcień czy detale. Obrazy binarne o 1 bit są przydatne w ikonach, maskach, algorytmach segmentacji i wykrywania krawędzi. Mają niskie wymagania pamięciowe i są skuteczne w kompresji danych. Popularnym formatem dla obrazów binarnych jest BMP, a do kompresji stosuje się techniki takie jak run-length encoding (RLE).
KODOWANIE BIEŻĄCYCH DŁUGOŚCI (RLE)
to prosta metoda kompresji danych stosowana w kompresji obrazów i danych tekstowych. Polega na zastępowaniu powtarzających się sekwencji danych symbolem i liczbą powtórzeń. W przypadku kompresji obrazów, RLE analizuje powtarzające się sekwencje pikseli o tym samym kolorze i zastępuje je specjalnym symbolem i liczbą powtórzeń. Ta technika może znacznie zmniejszyć rozmiar pliku, szczególnie w przypadku obrazów z dużymi obszarami powtarzającymi się. Jednak skuteczność RLE zależy od charakterystyki danych wejściowych, a po dekompresji dane są przywracane do pierwotnej formy.
DYSKRETNA TRANSFORMACJA COSINUSOWA (DCT)
to matematyczne przekształcenie używane w kompresji obrazów i dźwięku. DCT zamienia sygnał z dziedziny czasu na dziedzinę częstotliwości, reprezentując różne składowe częstotliwości w sygnale za pomocą współczynników. Jest wykorzystywana w algorytmach kompresji, takich jak JPEG, gdzie współczynniki DCT są kwantyzowane i kodowane w celu zmniejszenia rozmiaru pliku przy minimalnej utracie jakości. DCT jest stosowana na blokach pikseli w przypadku kompresji obrazów i posiada różne warianty, takie jak DCT-1, DCT-2 itd.
ODWROTNA TRANSFORMACJA COSINUSOWA (IDCT)
to proces przywracania oryginalnego sygnału z wykorzystaniem współczynników DCT. IDCT oblicza sumę wartości przemnożonych przez funkcje kosinusowe i współczynniki normalizacji, aby odtworzyć sygnał w dziedzinie czasu. Jest używana w dekompresji obrazów, szczególnie w przypadku formatów takich jak JPEG, do przywrócenia oryginalnego obrazu po przekształceniu DCT. IDCT jest procesem odwrotnym do obliczania DCT i jest niezbędna do przywracania sygnału do jego pierwotnej formy.
JPG/JPEG
(JPEG, Joint Photographic Experts Group):
- kompresja stratna,
- 24-bit głębia kolorów.
PNG
(Portable Network Graphics):
- kompresja bezstratna,
- 24-bit, 8-bit, 1-bit głębia kolorów,
- przezroczystość.
GIF
(Graphics Interchange Format):
- animacje,
- max. 256 kolorów,
- przezroczystość.
SVG
- przezroczystość,
- wektorówka,
- oparty na XML.
POSTSCRIPT
to język programowania używany do opisu grafiki 2D. Jest niezależny od urządzenia i służy do opisywania elementów takich jak tekst, kształty i obrazy na stronie. PostScript jest powszechnie stosowany w druku, przetwarzaniu obrazów i tworzeniu dokumentów. Jest również podstawą dla formatu PDF i jest potężnym narzędziem do tworzenia i manipulowania grafiką.
KONWOLUCJA DYSKRETNA
(zwanej także splotem funkcji) -jest używana do wykrywania cech, takich jak krawędzie czy tekstury, i znajduje zastosowanie w przetwarzaniu obrazów, rozpoznawaniu wzorców i segmentacji obrazu.
FILTR JEDNOSTKOWY
[ 0 0 0 ]
w = [ 0 1 0 ]
[ 0 0 0 ]
Piksel wynikowy będzie więc kopią piksela z bitmapy źródłowej. Filtr jednostkowy w grafice 2D to filtr konwolucyjny.
FILTR DOLNOPRZEPUSTOWY / UŚREDNIAJĄCY
[ 1 1 1 ]
w = [ 1 1 1 ]
[ 1 1 1 ]
Jego celem jest wygładzenie obrazu poprzez redukcję wysokich częstotliwości i szczegółów pikseli. Filtr dolnoprzepustowy jest często używany do usuwania szumów, rozmycia obrazów lub zmniejszania ich rozdzielczości.
FILTR GÓRNOPRZEPUSTOWY / WYOSTRZAJĄCY
[ 0 -1 0 ]
w = [-1 5 -1 ]
[ 0 -1 0 ]
Jego celem jest wzmocnienie szczegółów i krawędzi w obrazie poprzez podkreślenie wysokich częstotliwości. Efektem działania filtru górnoprzepustowego jest wyostrzenie obrazu i wyodrębnienie cech. Filtry te są używane do poprawy ostrości obrazów, wykrywania krawędzi i usuwania rozmycia.
FILTRY STATYCZNE
Filtry statyczne w przetwarzaniu obrazów są filtrami, których parametry i działanie są stałe na całej powierzchni obrazu. Nie uwzględniają one lokalnych różnic i cech obrazu. Przykłady takich filtrów to filtry dolnoprzepustowe, górnoprzepustowe, wyostrzające, wygładzające czy detekcji krawędzi. Filtry statyczne mają szerokie zastosowanie w poprawianiu jakości obrazu, usuwaniu szumów, wyostrzaniu krawędzi itp.
TRANSFORMACJA FOURIERA
Przekształcenie Fouriera umożliwia analizę amplitud i faz tych składowych oraz pozwala na badanie widma częstotliwościowego obrazu. Wynik transformacji Fouriera to dwuwymiarowe widmo częstotliwościowe. Współczynniki Fouriera to po prostu amplitudy poszczególnych składowych.
LaTeX
to system składu tekstu, używany głównie do tworzenia dokumentów naukowych i matematycznych. LaTeX jest darmowy. Jest szeroko stosowany w środowisku naukowym i akademickim ze względu na swoją elastyczność i profesjonalny wygląd.