Wpisany przez Tomasz Lubiński,
30 lipca 2009 17:57
Algorytm ten wykorzystywany jest w tak zwanej aproksymacji półtonowej, czyli wówczas gdy obraz o większej liczbie odcieni szarości (ewentualnie barw) musimy przekształcić w obraz czarno - biały. Metoda ta jest wykorzystywana również do redukcji liczby odcieni szarości lub kolorów. Jest to algorytm działający w oparciu o zasadę rozpraszania błędu (ang. dithering, error diffusion), który powstaje na skutek zmniejszania liczby kolorów. Metodę tą opublikował Frankie Sierra, nazwa pochodzi od nazwiska twórcy, liczby linii, do których przekazywany jest błąd oraz podzielnika wag przez które mnożony jest błąd. Przez samego twórcę nazywany jest Filter Lite, ze względu na jego niewielką tablicę rozpraszania błędów. Działa ona identycznie jak algorytm Floyd'a-Steinberg'a lecz o ile w przypadku Floyd'a-Steinberg'a tablica rozpraszania błędów wyglądała następująco:
to dla metody Sierra 2-4A (Filter Lite) tablica rozpraszania błędu wygląda tak:
* oznacza aktualnie rozważaną próbkę.
Mimo, niewielkiego obszaru na jaki rozpraszany jest błąd, algorytm ten zdaniem twórcy daje rezultaty lepsze od algorytmu Floyd'a-Steinberg'a. Wynik działania metody:
Ustaw ścieżkę do pliku (lub pozostaw tą domyślną), wczytaj plik a następnie użyj przycisku "Algorytm Sierra 2-4A (Filter Lite)" by sprawdzić działanie metody.
Ze względu na zabezpieczenia w przeglądarkach, skrypt otwiera wyłącznie pliki graficzne w obrębie naszego serwisu, np:
http://www.algorytm.org/images/stories/po/anaglif_lewy.jpg
http://www.algorytm.org/images/stories/po/orig.gif
http://www.algorytm.org/images/stories/mb/hsv.jpg
* | 7/16 | |
3/16 | 5/16 | 1/16 |
* | 2/4 | |
1/4 | 1/4 |
Mimo, niewielkiego obszaru na jaki rozpraszany jest błąd, algorytm ten zdaniem twórcy daje rezultaty lepsze od algorytmu Floyd'a-Steinberg'a. Wynik działania metody:
Obraz oryginalny | Przekształcanie zwykłe - progowe | Algorytm Sierra 2-4A (Filter Lite) |
Przykład w JavaScript:
Ustaw ścieżkę do pliku (lub pozostaw tą domyślną), wczytaj plik a następnie użyj przycisku "Algorytm Sierra 2-4A (Filter Lite)" by sprawdzić działanie metody.
Ze względu na zabezpieczenia w przeglądarkach, skrypt otwiera wyłącznie pliki graficzne w obrębie naszego serwisu, np:
http://www.algorytm.org/images/stories/po/anaglif_lewy.jpg
http://www.algorytm.org/images/stories/po/orig.gif
http://www.algorytm.org/images/stories/mb/hsv.jpg
|
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Tomasz Lubiński | C# | Microsoft Visual Studio 2010 | .cs | .cs | ***** / 0 |
Tomasz Lubiński | C/C++ | Borland Builder 6 | .cpp | .cpp | ***** / 1 |
Tomasz Lubiński | Delphi/Pascal | Borland Delphi 5 | .pas | .pas | ***** / 2 |
Tomasz Lubiński | JavaScript | Firefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera 9.5+, IE 9.0+ | .js | .js | ***** / 1 |
Poprawiony: 30 lipca 2012 19:35