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

enhance.h

00001 /* 00002 * This file is part of libCP 00003 * FILE: enhance.h 00004 * AUTHOR: Harald Studer <hs@lexip.ch> 00005 * Mathias Herzog <mathu@gmx.ch> 00006 * 00007 * 00008 * Copyright (c) 2004, The libCP project 00009 * 00010 * This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your opinion) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU General Public License 00021 * along with this program; see the file LICENSE. If not, write to 00022 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00023 * Boston, MA 02111-1307, USA. 00024 */ 00025 00026 #ifndef _LIBCP_ENHANCE_H_ 00027 #define _LIBCP_ENHANCE_H_ 00028 00029 using namespace std; 00030 00031 #include "globals.h" 00032 #include "image.h" 00033 #include "kernel.h" 00034 00035 namespace LIBCP{ 00036 00037 #define PREWITT_MASK 0 00038 #define KIRSCH_MASK 1 00039 #define SOBEL_MASK 2 00040 #define THREELEVEL_MASK 3 00041 00046 class Enhance 00047 { 00048 00049 public: 00050 static int convolutionFFT( Image* dst, Image* src, Image* mask ); 00051 static int convolution( Image* dst, Image* src, Kernel* mask ); 00052 static int maximum( Image* dst, Image* src, int window ); 00053 static int minimum( Image* dst, Image* src, int window ); 00054 static int median( Image* dst, Image* src, int window ); 00055 static int minmax( Image* dst, Image* src, int window ); 00056 static int extrema( Image* dst, Image* src, int window ); 00057 static int rankTransform( Image* dst, Image* src, int window ); 00058 static int inverseContrastRatio( Image* dst, Image* src ); /*TODO*/ 00059 static int unsharpMasking( Image* dst, Image* src, int window, double c ); 00060 static int gaussianLowPass( Image* dst, Image* src, const int window ); 00061 static int laplacianOfGaussian( Image* dst, Image* src, 00062 const int deviation, 00063 const bool zeroCrossing); 00064 static int compassMaskPrewitt( Image* dst, Image* src, bool edge ); 00065 static int compassMaskRobinson( Image* dst, Image* src, bool edge );/*TODO*/ 00066 static int compassMaskKirsch( Image* dst, Image* src, bool edge );/*TODO*/ 00067 static int compassMaskSobel( Image* dst, Image* src, bool edge );/*TODO*/ 00068 static int localMaximumInWindow( Image* dst, Image* src ); /*TODO*/ 00069 00070 private: 00071 static int compassMask( Image* dst, Image* src, int* w, int* W, bool edge ); 00072 }; //end of class Enhance 00073 } //end of namespace LIBCP 00074 00075 #endif //_LIBCP_ENHANCE_H_

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