Wondercoll
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Typedefs | Functions | Variables
cvsmooth.cpp File Reference
#include "_cv.h"

Macros

#define BLUR_SHIFT   24
 
#define CV_MINMAX_8U(a, b)   (t = CV_FAST_CAST_8U((a) - (b)), (b) += t, a -= t)
 
#define align(x)
 
#define HOP(h, x, op)
 
#define COP(c, j, x, op)
 
#define MEDIAN_HAVE_SIMD   0
 
#define N   16
 
#define UPDATE_ACC01(pix, cn, op)
 

Typedefs

typedef int srcstep
 
typedef int void * dst
 
typedef int void int dststep
 
typedef int void int CvSize size
 
typedef int void int CvSize CvSize ksize
 
typedef int void int CvSize
CvSize CvPoint 
anchor
 

Functions

struct align (16)
 
typedef CvStatus (CV_STDCALL *CvSmoothFixedIPPFunc)(const void *src
 
CV_IMPL void cvSmooth (const void *srcarr, void *dstarr, int smooth_type, int param1, int param2, double param3, double param4)
 

Variables

 Histogram
 
icvFilterMedian_8u_C1R_t icvFilterMedian_8u_C1R_p = 0
 
icvFilterMedian_8u_C3R_t icvFilterMedian_8u_C3R_p = 0
 
icvFilterMedian_8u_C4R_t icvFilterMedian_8u_C4R_p = 0
 
icvFilterBox_8u_C1R_t icvFilterBox_8u_C1R_p = 0
 
icvFilterBox_8u_C3R_t icvFilterBox_8u_C3R_p = 0
 
icvFilterBox_8u_C4R_t icvFilterBox_8u_C4R_p = 0
 
icvFilterBox_32f_C1R_t icvFilterBox_32f_C1R_p = 0
 
icvFilterBox_32f_C3R_t icvFilterBox_32f_C3R_p = 0
 
icvFilterBox_32f_C4R_t icvFilterBox_32f_C4R_p = 0
 

Macro Definition Documentation

#define align (   x)
#define BLUR_SHIFT   24
#define COP (   c,
  j,
  x,
  op 
)
Value:
h_coarse[ 16*(n*c+j) + (x>>4) ] op; \
h_fine[ 16 * (n*(16*c+(x>>4)) + j) + (x & 0xF) ] op;
#define CV_MINMAX_8U (   a,
  b 
)    (t = CV_FAST_CAST_8U((a) - (b)), (b) += t, a -= t)
#define HOP (   h,
  x,
  op 
)
Value:
h.coarse[x>>4] op; \
*((ushort*) h.fine + x) op;

HOP is short for Histogram OPeration. This macro makes an operation op on histogram h for pixel value x. It takes care of handling both levels.

#define MEDIAN_HAVE_SIMD   0
#define N   16
#define UPDATE_ACC01 (   pix,
  cn,
  op 
)
Value:
{ \
int p = (pix); \
zone1[cn][p] op; \
zone0[cn][p >> 4] op; \
}

Typedef Documentation

typedef int void* dst
typedef int void int dststep
typedef int void int CvSize CvSize ksize
typedef int void int CvSize size
typedef int srcstep

Function Documentation

struct align ( 16  )
read

This structure represents a two-tier histogram. The first tier (known as the "coarse" level) is 4 bit wide and the second tier (known as the "fine" level) is 8 bit wide. Pixels inserted in the fine level also get inserted into the coarse bucket designated by the 4 MSBs of the fine bucket value.

The structure is aligned on 16 bits, which is a prerequisite for SIMD instructions. Each bucket is 16 bit wide, which means that extra care must be taken to prevent overflow.

CV_IMPL void cvSmooth ( const void *  srcarr,
void *  dstarr,
int  smooth_type,
int  param1,
int  param2,
double  param3,
double  param4 
)
typedef CvStatus ( CV_STDCALL CvSmoothFixedIPPFunc) const

Variable Documentation

Histogram
icvFilterBox_32f_C1R_t icvFilterBox_32f_C1R_p = 0
icvFilterBox_32f_C3R_t icvFilterBox_32f_C3R_p = 0
icvFilterBox_32f_C4R_t icvFilterBox_32f_C4R_p = 0
icvFilterBox_8u_C1R_t icvFilterBox_8u_C1R_p = 0
icvFilterBox_8u_C3R_t icvFilterBox_8u_C3R_p = 0
icvFilterBox_8u_C4R_t icvFilterBox_8u_C4R_p = 0
icvFilterMedian_8u_C1R_t icvFilterMedian_8u_C1R_p = 0
icvFilterMedian_8u_C3R_t icvFilterMedian_8u_C3R_p = 0
icvFilterMedian_8u_C4R_t icvFilterMedian_8u_C4R_p = 0