00001 #ifndef __RGBtoYIQ__ 00002 #define __RGBtoYIQ__ 00003 00004 00005 00025 #include <stdio.h> 00026 00027 00028 #include "AR3ChannelConverter.hpp" 00029 00030 class RGBtoYIQ : public AR3ChannelConverter 00031 { 00032 private: 00033 00034 double k; 00035 bool saturationClipping; // saturation autocorrection 00036 00037 public: 00038 00039 RGBtoYIQ(bool correction=true, double saturation=1.0){ k=saturation; saturationClipping= correction;} 00040 virtual ~RGBtoYIQ(){} 00041 00042 // single shot filtering 00043 virtual Real3CImage* convert(Real3CImage* from, Real3CImage* to=0); 00044 virtual Real3CImage* revert(Real3CImage* from, Real3CImage* to=0); 00045 00046 virtual void report(FILE* file){} 00047 }; 00048 00049 00050 #endif