Main Page | Class Hierarchy | Class List | File List | Class Members

conversions.h

00001 /* 00002 * This file is part of libCP 00003 * FILE: conversions.h 00004 * AUTHOR: Harald Studer <hs@lexip.ch> 00005 * 00006 * 00007 * Copyright (c) 2004, The libCP project 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your opinion) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; see the file LICENSE. If not, write to 00021 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00022 * Boston, MA 02111-1307, USA. 00023 */ 00024 00025 #ifndef _LIBCP_CONVERSIONS_H_ 00026 #define _LIBCP_CONVERSIONS_H_ 00027 00028 using namespace std; 00029 00030 #include "image.h" 00031 00032 namespace LIBCP{ 00033 00040 class Conversions 00041 { 00042 public: 00043 static int binarize( Image* dst, Image* src ); 00044 static int grayScale( Image* dst, Image* src ); 00045 static int colorize( Image* dst, Image* src );/*TODO*/ 00046 static int splitColorPlanes( Image* source, 00047 Image* redPlane, Image* greenPlane, 00048 Image* bluePlane ); 00049 static int mergeColorPlanes( Image* destination, 00050 Image* redPlane, Image* greenPlane, 00051 Image* bluePlane ); 00052 static int RGBtoHSV( Image* dst, Image* src ); 00053 static int HSVtoRGB( Image* dst, Image* src ); 00054 00055 00056 private: 00057 static void rgb2hsv( float R, float G, float B, 00058 float& H, float& S, float& V ); 00059 00060 static void hsv2rgb( float H, float S, float V, 00061 float& R, float& G, float& B ); 00062 00063 static float max_of( float first, float second, float third ); 00064 static float min_of( float first, float second, float third ); 00065 00066 };//end of class Conversions definition 00067 00068 } //end of namespace LIBCP 00069 00070 #endif /* _LIBCP_CONVERSIONS_H_ */

Generated on Wed May 26 16:43:53 2004 for libcp by doxygen 1.3.7