algorytm.org

Histogram - Tablica LUT



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Histogram - Tablica LUT
Ocena użytkowników:***** / 31
SłabyŚwietny 
Wpisany przez Tomasz Lubiński, 08 września 2005 21:50

Właściwie wszystkie zmiany histogramu sprowadzają się do utworzenia dyskretnej funkcji konwersji oryginalnych wartości składowych obrazu na nowe wartosci składowych. Ponieważ funkcja jest dyskretna, to najłatwiejszym sposobem jej opisania jest wykorzystanie tablicy nazywanej tablicą LUT (ang. Look Up Table). Wygląda to w ten sposób, że jeżeli w indeksie numer 1 takiej tablicy znajduje się wartość 5, to oznacza to, że wszystkie piksle o wartości 1 należy zamienić należy na wartość 5. Przeanalizujmy to na przykładzie. Mamy dany obraz o wymiarze 3x2, o 4 odcieniach szarości (0-3). Czcionką pogrubioną zaznaczono aktualnie rozpatrywaną komórkę obrazu.
Obraz wejściowy
101
221
Obraz wyjściowy
Table LUT
0233

Pierwsza wartość 1, według tablicy LUT, ma być zamieniona na wartość 2 (tablicę LUT, tak jak odcienie numerujemy od 0, gdyż każdy odcień musi posiadać dwoje odwzorowanie)
Obraz wejściowy
101
221
Obraz wyjściowy
2
Table LUT
0233

Kolejna wartość 0, odwzorowana ma być na 0
Obraz wejściowy
101
221
Obraz wyjściowy
20
Table LUT
0233

Kolejna 1, tak jak poprzednio na 2
Obraz wejściowy
101
221
Obraz wyjściowy
202
Table LUT
0233

2 według tabeli odwzorowywujemy na 3
Obraz wejściowy
101
221
Obraz wyjściowy
202
3
Table LUT
0233

Następne 2 znów na 3
Obraz wejściowy
101
221
Obraz wyjściowy
202
33
Table LUT
0233

I na koncu 1, na 2
Obraz wejściowy
101
221
Obraz wyjściowy
202
332
Table LUT
0233

Krzywa LUT jest takze nazywana krzywa tonalna. Kazdy zaawansowany program do edycji grafiki rastrowej dysponuje narzedziem do modyfikacji obrazu z wykorzystaniem tablicy LUT.
Poprawiony: 13 czerwca 2011 21:01
Komentarze
photo
+3 # wojtek 2009-08-18 10:34
a przed chwilą jeszcze nie wiedzialem o co chodzi z tym lutem
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+3 # majsterkus 2009-09-14 02:28
gitara
LUT :array [0..3] of integer;
0 1 2 3 -indeksy tablicy pod którymi jest wartosć:
0 2 3 3
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+1 # LUTek 2012-11-23 15:33
hm, tylko to oznacza, że zawężamy histogram, a nie go rozciągamy? Jeżeli orginalny obraz miał zakres tonalny czterowartościo wy a przetworzony ma 3 wartości? albo zapytam po prostu, dla czego w tabeli lut następuje powtórzenie 3? Czy nie lepszy efekt byśmy uzyskali dla tabeli LUT: 0 5 10 15?
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
0 # Damulek 2014-01-24 19:59
Operacja LUT nie musi być operacją rozciągania, może być operacją zawężania. Tu masz wytłumaczone, jak zbudować tablicę LUT dla rozciągania histogramu: http://www.algorytm.org/przetwarzanie-obrazow/histogram-rozciaganie.html
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
0 # Michał223 2017-04-10 14:07
A co z obrazami RGB? jak wtedy obliczamy LUT?
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
0 # Adam787 2017-10-13 07:09
Możesz rozpatrywać każdy kanał osobno (R, G, B), i dla każdego zastosowac tablicę LUT.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz