Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

PixelHSV.h

Go to the documentation of this file.
00001 
00023 #ifndef PIXEL_HSV_H
00024 #define PIXEL_HSV_H
00025 
00026 #include <iostream>
00027 
00028 using namespace std;
00029 
00030 class PixelHSV
00038 {
00051 //      friend ostream& operator << (ostream& os, PixelHSV& p)
00052 //      {
00053 //              os << "(" << p[0] << "," << p[1] << "," << p[2] << ")";
00054 //              return os;
00055 //      }
00056 
00057 public:
00058          unsigned short int hue;        //16bit |
00059          unsigned char sat;                     //8bit  |> 32bit
00060          unsigned char val;                     //8bit  |
00061 
00062 public:
00068         PixelHSV()
00069          {  }
00070 
00071 
00078         PixelHSV(unsigned short int h, unsigned char s, unsigned char v)
00079         {
00080                 hue = h;
00081                 sat = s;
00082                 val = v;
00083         }
00084 
00085 
00096         PixelHSV& operator = (PixelHSV& p)
00097         {
00098                 hue = p.hue;
00099                 sat = p.sat;
00100                 val = p.val;
00101 
00102                 return *this;
00103         }
00104 
00105 
00116 //      int& operator [] (int i)
00117 //      {
00118 //              return pixel[i];
00119 //      }
00120 
00121 
00132 //      const int& operator [] (int i) const
00133 //      {
00134 //              return pixel[i];
00135 //      }
00136 
00137 
00149         bool operator == (PixelHSV& p)
00150         {
00151                 return (   hue == p.hue
00152                         && sat == p.sat
00153                         && val == p.val);
00154         }
00155 
00156 
00169         bool operator != (PixelHSV& p)
00170         {
00171                 return (   hue != p.hue
00172                         || sat != p.sat
00173                         || val != p.val);
00174         }
00175 
00187         PixelHSV& operator += (PixelHSV& p)
00188         {
00189                 hue += p.hue;
00190                 sat += p.sat;
00191                 val += p.val;
00192 
00193                 return *this;
00194         }
00195 
00206         PixelHSV& operator -= (PixelHSV& p)
00207         {
00208                 hue = -hue;
00209                 sat = -sat;
00210                 val = -val;
00211 
00212                 return *this;
00213         }
00214 
00224         PixelHSV& operator *= (double k)
00225         {
00226                 hue = (int) (k*(double)hue);
00227                 sat = (int) (k*(double)sat);
00228                 val = (int) (k*(double)val);
00229 
00230                 return *this;
00231         }
00232 
00233 
00234         PixelHSV& operator *= (PixelHSV& p)
00235         {
00236                 hue *= p.hue;
00237                 sat *= p.sat;
00238                 val *= p.val;
00239 
00240                 return *this;
00241         }
00242 
00243         PixelHSV& operator /= (PixelHSV& p)
00244         {
00245                 hue /= p.hue;
00246                 sat /= p.sat;
00247                 val /= p.val;
00248 
00249                 return *this;
00250         }
00251 
00252 };
00253 
00254 
00255 #endif  // PIXEL_HSV_H

Generated on Tue Jan 24 11:58:57 2006 for VETLib by  doxygen 1.4.4