StartAlgorytmyPrzetwarzanie obrazówAlgorytm Stucki'ego
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Algorytm Stucki'ego
Ocena użytkowników:----- / 0
SłabyŚwietny 
Wpisany przez Tomasz Lubiński
środa, 07 września 2005 21:52
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łedu (ang. dithering, error diffusion), który powstaje na skutek zmniejszania liczby kolorów. Metoda ta została opublikowana w 1981 roku jako modyfikacja algorytmu Jarvis, Judice, Ninke. Liczba sąsiednich komórek do których przekazywany jest błąd nie zmieniła się, poprawione zostały jedynie wagi, z jakimi przekazywany jest błąd. Metoda Stucki'ego działa 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:
 *7/16
3/165/161/16
to dla metody Stucki'ego tablica rozpraszania błędu wygląda tak:
  *8/424/42
2/424/428/424/422/42
1/422/424/422/421/42
* oznacza aktualnie rozważaną próbkę.

Wynik działania algorytmu:

Obraz oryginalnyPrzekształcanie zwykłe - progoweAlgorytm Stucki'ego
Obraz oryginalnyPrzekształcanie zwykłe - progoweStucki


Przykład w JavaScript:
Ustaw ścieżkę do pliku (lub pozostaw tą domyślną), wczytaj plik a następnie użyj przycisku "Algorytm Stucki'ego" 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

Plik:



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Tomasz Lubiński C/C++ Borland Builder 6
Implementacja w C/C++
Implementacja w C/C++
++++- / 1
Tomasz Lubiński Delphi/Pascal Borland Delphi 5
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
++++- / 1
Tomasz Lubiński Java Script Firefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera 9.5+, IE 9.0+
Implementacja w Java Script
Implementacja w Java Script
----- / 0
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: środa, 11 stycznia 2012 20:32

Dodaj komentarz

Kod antysapmowy
Odśwież