Wpisany przez Tomasz Lubiński
środa, 07 września 2005 20:53
Aproksymacja półtonowa, polega na przekształceniu obrazu o większej liczbie odcieni szarości (ewentualnie barw) w obraz czarno - biały. Intuicyjnie robi się to tak, że punkty o jasności powyżej pewnego założonego progu (np.: połowa wartości maksymalnej) w obrazie wejściowym przekształca się na punkty białe w obrazie wyjściowym. Analogicznie punkty o jasności poniżej progu w obrazie wejściowym przekształca się w punkty czarne w obrazie wyjściowym. W miejscu płynnych przejść w obrazie wynikowym powstaje jednak ostra granica. By temu zaradzić moduluje się próg sygnałem szumu, tak by pewne punkty o podobnej wartości były powyżej ustalonego progu a inne nie. W ten sposób uzyskujemy wiele punktów białych i czarnych obok siebie, daje to efekt delikatnego przejścia. Możemy tutaj zastosować różne podejścia.
Wynik działania algorytmu:

Dzięki tym sposobom możemy uzyskać pewną poprawę. Lepsze efekty dają jednak metody propagacji błędu, takie jak algorytm Floyda-Steinberga. Są one jednak nieco bardziej skomplikowane.
- wykorzystać funkcję sinus czyli do ustalonego progu dodawać wartość A·sinαx·sinβy, gdzie x oraz y to współrzędne kolejnych rozpatrywanych punktów obrazu, A, α oraz β to pewne odpowiednio dobrane stałe
- wykorzystać funkcję random (generator liczb losowych), czyli do ustalonego progu dodawać liczbę losową z zakresu np -10% progu .. 10% progu
Wynik działania algorytmu:

Dzięki tym sposobom możemy uzyskać pewną poprawę. Lepsze efekty dają jednak metody propagacji błędu, takie jak algorytm Floyda-Steinberga. Są one jednak nieco bardziej skomplikowane.
| Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
| Tomasz Lubiński | C/C++ | Borland Builder 6 | ![]() | ![]() |
![]() ![]() ![]() ![]() / 1 |
| Tomasz Lubiński | Delphi/Pascal | Borland Delphi 5 | ![]() | ![]() |
![]() ![]() ![]() ![]() / 1 |
Poprawiony: sobota, 11 czerwca 2011 21:22



/ 1