47 #ifndef __OPENCV_IMGPROC_HPP__
48 #define __OPENCV_IMGPROC_HPP__
89 int width,
int cn) = 0;
115 virtual void operator()(
const uchar** src,
uchar*
dst,
int dststep,
116 int dstcount,
int width) = 0;
118 virtual void reset();
141 virtual void operator()(
const uchar** src,
uchar*
dst,
int dststep,
142 int dstcount,
int width,
int cn) = 0;
144 virtual void reset();
231 int srcType,
int dstType,
int bufType,
233 int _columnBorderType=-1,
241 int srcType,
int dstType,
int bufType,
245 virtual int start(
Size wholeSize,
Rect roi,
int maxBufRows=-1);
247 virtual int start(
const Mat& src,
const Rect& srcRoi=
Rect(0,0,-1,-1),
248 bool isolated=
false,
int maxBufRows=-1);
250 virtual int proceed(
const uchar* src,
int srcStep,
int srcCount,
253 virtual void apply(
const Mat& src,
Mat& dst,
256 bool isolated=
false);
260 int remainingInputRows()
const;
261 int remainingOutputRows()
const;
277 int bufStep, startY,
startY0, endY, rowCount, dstY;
294 const Mat& kernel,
int anchor,
299 const Mat& kernel,
int anchor,
300 int symmetryType,
double delta=0,
307 double delta=0,
int bits=0);
311 const Mat& rowKernel,
const Mat& columnKernel,
314 int _columnBorderType=-1,
319 const Mat& kernel,
Point _anchor=
Point(-1,-1),
321 int _columnBorderType=-1,
const Scalar& _borderValue=
Scalar());
340 int ksize,
int anchor=-1);
343 int ksize,
int anchor=-1,
363 static inline Scalar morphologyDefaultBorderValue() {
return Scalar::all(DBL_MAX); }
368 int _columnBorderType=-1,
369 const Scalar& _borderValue=morphologyDefaultBorderValue());
380 int top,
int bottom,
int left,
int right,
391 double sigmaColor,
double sigmaSpace,
392 int borderType=BORDER_DEFAULT );
397 int borderType=BORDER_DEFAULT );
400 Size ksize, Point anchor=Point(-1,-1),
401 int borderType=BORDER_DEFAULT );
405 const
Mat& kernel, Point anchor=Point(-1,-1),
406 double delta=0,
int borderType=BORDER_DEFAULT );
410 const
Mat& kernelX, const
Mat& kernelY,
411 Point anchor=Point(-1,-1),
412 double delta=0,
int borderType=BORDER_DEFAULT );
416 int dx,
int dy,
int ksize=3,
418 int borderType=BORDER_DEFAULT );
422 int dx,
int dy,
double scale=1,
double delta=0,
423 int borderType=BORDER_DEFAULT );
427 int ksize=1,
double scale=1,
double delta=0,
428 int borderType=BORDER_DEFAULT );
437 int blockSize,
int ksize=3,
438 int borderType=BORDER_DEFAULT );
443 int borderType=BORDER_DEFAULT );
447 int blockSize,
int ksize,
448 int borderType=BORDER_DEFAULT );
452 int borderType=BORDER_DEFAULT );
461 int maxCorners,
double qualityLevel,
double minDistance,
463 bool useHarrisDetector=false,
double k=0.04 );
472 double rho,
double theta,
int threshold,
483 Point anchor=Point(-1,-1),
int iterations=1,
485 const
Scalar& borderValue=morphologyDefaultBorderValue() );
489 Point anchor=Point(-1,-1),
int iterations=1,
490 int borderType=BORDER_CONSTANT,
491 const
Scalar& borderValue=morphologyDefaultBorderValue() );
495 int op, const Mat& kernel,
496 Point anchor=Point(-1,-1),
int iterations=1,
497 int borderType=BORDER_CONSTANT,
498 const
Scalar& borderValue=morphologyDefaultBorderValue() );
514 Size dsize,
double fx=0,
double fy=0,
519 const Mat& M,
Size dsize,
526 const Mat& M,
Size dsize,
543 int dstmap1type,
bool nninterpolation=
false );
574 double alpha, const Mat&
mask=Mat() );
588 int adaptiveMethod,
int thresholdType,
589 int blockSize,
double C );
600 const Mat&
distCoeffs,
const Mat& newCameraMatrix=Mat() );
603 const Mat& R,
const Mat& newCameraMatrix,
614 Size imageSize,
int destImageWidth,
620 bool centerPrincipalPoint=
false );
623 const Mat& cameraMatrix,
const Mat& distCoeffs,
624 const Mat& R=Mat(),
const Mat& P=Mat());
627 const Mat& cameraMatrix,
const Mat& distCoeffs,
628 const Mat& R=Mat(),
const Mat& P=Mat());
634 const int* channels,
const Mat&
mask,
635 Mat& hist,
int dims,
const int* histSize,
636 const float** ranges,
bool uniform=
true,
bool accumulate=
false );
640 const int* channels,
const Mat&
mask,
641 SparseMat& hist,
int dims,
642 const int* histSize,
const float** ranges,
647 const int* channels,
const Mat& hist,
648 Mat& backProject,
const float** ranges,
649 double scale=1,
bool uniform=
true );
653 const int* channels,
const SparseMat& hist,
654 Mat& backProject,
const float** ranges,
655 double scale=1,
bool uniform=
true );
671 double sp,
double sr,
int maxLevel=1,
689 Mat& bgdModel, Mat& fgdModel,
690 int iterCount,
int mode =
GC_EVAL );
706 int distanceType,
int maskSize );
710 int distanceType,
int maskSize );
737 Moments(
double m00,
double m10,
double m01,
double m20,
double m11,
738 double m02,
double m30,
double m21,
double m12,
double m03 );
784 vector<Vec4i>& hierarchy,
int mode,
793 int contourIdx,
const Scalar& color,
794 int thickness=1,
int lineType=8,
795 const vector<Vec4i>& hierarchy=vector<Vec4i>(),
800 CV_OUT vector<Point>& approxCurve,
801 double epsilon,
bool closed );
804 CV_OUT vector<Point2f>& approxCurve,
805 double epsilon,
bool closed );
816 Point2f& center,
float& radius );
820 int method,
double parameter );
836 double param,
double reps,
double aeps );
839 double param,
double reps,
double aeps );
842 Point2f pt,
bool measureDist );
861 virtual int vector_add(
const void* data) = 0;
862 virtual void vector_remove(
int i) = 0;
863 virtual const void* vector_lookup(
int i) = 0;
864 virtual void vector_reserve(
int n) = 0;
865 virtual unsigned int vector_count() = 0;
867 virtual void hash_insert(
lsh_hash h,
int l,
int i) = 0;
868 virtual void hash_remove(
lsh_hash h,
int l,
int i) = 0;
869 virtual int hash_lookup(
lsh_hash h,
int l,
int* ret_i,
int ret_i_max) = 0;