Benutzer-Werkzeuge

Webseiten-Werkzeuge


tutorial:image

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tutorial:image [2015/07/26 14:16] – [Beispiel 3] ninuxtutorial:image [2015/07/26 15:04] (aktuell) – [Beispiel] ninux
Zeile 235: Zeile 235:
  
 Diese Werte haben nun zwar die Richtigen Helligkeitsstufen damit das Bild einigermassen richtig aussieht, jedoch geht die Detailträue deutlich zurück. Diese Werte haben nun zwar die Richtigen Helligkeitsstufen damit das Bild einigermassen richtig aussieht, jedoch geht die Detailträue deutlich zurück.
 +
 +==== Beispiel 4 ====
 +Das [[https://github.com/luxeria/foip/blob/master/src/chapter_01/exercise_04.m| Beispiel 4]] zeigt wie ein Bild von 8 Bit auf 6, 4, und 2 Bit qantisiert wird.
 +
 +<code octave>
 +% load the image
 +Image = imread(imageSource);
 +        
 +% create the reduced images
 +Image8bit = Image;
 +Image6bit = floor(Image8bit/4)*4;
 +Image4bit = floor(Image8bit/16)*16;
 +Image2bit = floor(Image8bit/64)*64;
 +</code>
 +
 +===== Rasterung =====
 +Die Rasterung beschreibt die räumliche Auflösung (Pixelzahl) eines Bildes (im Gegensatz dazu die Quantisierung, welche die Abstufung der Pixelwerte beschreibt).
 +
 +Diese kann im Octave mittel der Funktion ''imresize()'' verändert werden.
 +
 +==== Beispiel 5 ====
 +
 +Das [[https://github.com/luxeria/foip/blob/master/src/chapter_01/exercise_05.m| Beispiel 5]] zeigt wie ein Bild umgewandelt werden kann auf eine andere Auflösung.
 +
 +<code octave>
 +% load the image
 +Image = imread(imageSource);
 +        
 +% create reduced images
 +Image1 = Image;
 +Image2 = imresize(Image1, 0.5);
 +Image3 = imresize(Image2, 0.5);
 +</code>
 +
 +===== LUT - look up table =====
 +Eine LUT (look up table) wird verwendet für die Zuordnung von Pixelwerten. Die Idee und Operation dazu ist relativ simpel. Für jeden Pixelwert gibt es genau einen korresponiderenden Eintag in einer Tabelle (LUT) welcher übernommen wird. Der gelesene Wert im Original dient dabei als Index für die Tabelle (LUT). Es findet also eine lineare und eindeutige Zuordnung von Werten statt beim Anwenden einer LUT.
 +
 +Im Folgenden ein Prinzipbeispiel einer invertierenden LUT
 +    
 +    LUT Index    1  2  3  4  5  6  7  8
 +    LUT Wert    8  7  6  5  4  3  2  1  0
 +    
 +    ----
 +    
 +    Image
 +            0         3
 +            1         4
 +            2         5
 +            4         7
 +            5         8
 +            
 +    apllyLUT(Image)
 +            8         5
 +            7         4
 +            6         3
 +            4         1
 +            3         0
 +
 +==== Beispiel 6 ====
 +Das [[https://github.com/luxeria/foip/blob/master/src/chapter_01/exercise_06.m|Beispiel 6]] zeigt wie verschiedene LUT definiert and angewendet werden.
 +
 +<code>
 +% load the image
 +Image = imread(imageSource);
 +        
 +% define look-up-table (LUT)
 +LUT_inverse = uint8([255:-1:0]);
 +LUT_bright  = uint8([0:255].*2);
 +LUT_special = uint8(horzcat([0:1:64], [64:2:((255-64)*2+62)]));
 +        
 +% apply LUTs
 +ImageInverse = intlut(Image, LUT_inverse);
 +ImageBright  = intlut(Image, LUT_bright);
 +ImageSpecial = intlut(Image, LUT_special);
 +</code>
tutorial/image.1437920201.txt.gz · Zuletzt geändert: 2015/07/26 14:16 von ninux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki