enhance.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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 );
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 );
00066
static int compassMaskKirsch(
Image* dst,
Image* src,
bool edge );
00067
static int compassMaskSobel(
Image* dst,
Image* src,
bool edge );
00068
static int localMaximumInWindow(
Image* dst,
Image* src );
00069
00070
private:
00071
static int compassMask(
Image* dst,
Image* src,
int* w,
int* W,
bool edge );
00072 };
00073 }
00074
00075
#endif //_LIBCP_ENHANCE_H_
Generated on Wed May 26 16:43:53 2004 for libcp by
1.3.7