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:18] – [Veranschaulichung vom Informationsverlust] ninuxtutorial:image [2015/07/26 15:04] (aktuell) – [Beispiel] ninux
Zeile 248: Zeile 248:
 Image4bit = floor(Image8bit/16)*16; Image4bit = floor(Image8bit/16)*16;
 Image2bit = floor(Image8bit/64)*64; 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> </code>
tutorial/image.1437920329.txt.gz · Zuletzt geändert: 2015/07/26 14:18 von ninux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki