C# Class SimplePaletteQuantizer.Quantizers.Octree.OctreeQuantizer

The idea here is to build a tree structure containing always a maximum of K different colors. If a further color is to be added to the tree structure, its color value has to be merged with the most likely one that is already in the tree. The both values are substituted by their mean. The most important data structure are the nodes of the octree. Each inner node of the octree contain a maximum of eight successors, the leave nodes keep information for the color value (colorvalue), the color index (colorindex), and a counter (colorcount) for the pixel that are already mapped to a particular leave. Because each of the red, green and blue value is between 0 and 255 the maximum depth of the tree is eight. In level i Bit i of RGB is used as selector for the successors. The octree is constructed during reading the image that is to be quantized. Only that parts of the octree are created that are really needed. Initially the first K values are represented exactly (in level eight). When the number of leaves nodes (currentK) exceeds K, the tree has to reduced. That would mean that leaves at the largest depth are substituted by their predecessor.
Inheritance: BaseColorQuantizer
Afficher le fichier Open project: RHY3756547/FreeSO Class Usage Examples

Private Properties

Свойство Type Description
AddLevelNode void

Méthodes protégées

Méthode Description
OnAddColor ( Color color, Int32 key, Int32 x, Int32 y ) : void

See BaseColorQuantizer.OnAddColor for more details.

OnFinish ( ) : void

See BaseColorQuantizer.OnFinish for more details.

OnGetColorCount ( ) : Int32

See BaseColorQuantizer.OnGetColorCount for more details.

OnGetPalette ( Int32 colorCount ) : List

See BaseColorQuantizer.OnGetPalette for more details.

OnGetPaletteIndex ( Color color, Int32 key, Int32 x, Int32 y, Int32 &paletteIndex ) : void

See BaseColorQuantizer.OnGetPaletteIndex for more details.

OnPrepare ( ImageBuffer image ) : void

See BaseColorQuantizer.OnPrepare for more details.

Private Methods

Méthode Description
AddLevelNode ( Int32 level, OctreeNode octreeNode ) : void

Adds the node to a level node list.

Method Details

OnAddColor() protected méthode

See BaseColorQuantizer.OnAddColor for more details.
protected OnAddColor ( Color color, Int32 key, Int32 x, Int32 y ) : void
color Color
key System.Int32
x System.Int32
y System.Int32
Résultat void

OnFinish() protected méthode

See BaseColorQuantizer.OnFinish for more details.
protected OnFinish ( ) : void
Résultat void

OnGetColorCount() protected méthode

See BaseColorQuantizer.OnGetColorCount for more details.
protected OnGetColorCount ( ) : Int32
Résultat System.Int32

OnGetPalette() protected méthode

See BaseColorQuantizer.OnGetPalette for more details.
protected OnGetPalette ( Int32 colorCount ) : List
colorCount System.Int32
Résultat List

OnGetPaletteIndex() protected méthode

See BaseColorQuantizer.OnGetPaletteIndex for more details.
protected OnGetPaletteIndex ( Color color, Int32 key, Int32 x, Int32 y, Int32 &paletteIndex ) : void
color Color
key System.Int32
x System.Int32
y System.Int32
paletteIndex System.Int32
Résultat void

OnPrepare() protected méthode

See BaseColorQuantizer.OnPrepare for more details.
protected OnPrepare ( ImageBuffer image ) : void
image SimplePaletteQuantizer.Helpers.ImageBuffer
Résultat void