Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Modules/ImageProcessor/VLCImageProcessor/VLCImageProcessorTools.h

Go to the documentation of this file.

    00001 /**
    00002 * @file VLCImageProcessorTools.h
    00003 *
    00004 * Tools and Definitons for VLCImageProcessor
    00005 *
    00006 * @author <a href="mailto:timlaue@tzi.de">Tim Laue</a>
    00007 * @author <a href="mailto:oberlies@sim.tu-darmstadt.de">Tobias Oberlies</a>
    00008 */
    00009
    00010 #ifndef __VLCImageProcessorTools_h_
    00011 #define __VLCImageProcessorTools_h_
    00012
    00013 #include "Representations/Perception/ColorTable64.h"
    00014 #include "Modules/ImageProcessor/ImageProcessorTools/ColorCorrector.h"
    00015
    00016 // Cognition includes multiple xxxImageProcessorTools (but no file that actually uses the
    00017 // macros does) so apply a simple hack to avoid a redefinition error.
    00018 #ifdef COLOR_CLASS
    00019 #undef COLOR_CLASS
    00020 #undef CORRECTED_COLOR_CLASS
    00021 #endif
    00022
    00023 // This is a hack to speed up color table access. It obviously only works with ColorTable64
    00024 #define COLOR_CLASS(y,u,v,table) static_cast<colorClass>(static_cast<const ColorTable64&>(table).colorClasses[(y) >> 2][(u) >> 2][(v) >> 2])
    00025 #define CORRECTED_COLOR_CLASS(px,py,y,u,v,table,corrector) static_cast<colorClass>(static_cast<const ColorTable64&>(table).colorClasses[corrector.correct(px,py,0,(y)) >> 2][corrector.correct(px,py,1,(u)) >> 2][corrector.correct(px,py,2,(v)) >> 2])
    00026
    00027 #endif // __VLCImageProcessorTools_h_