OpenCV  3.3.0-dev
Open Source Computer Vision
Namespaces | Classes | Enumerations | Functions
cv::ximgproc Namespace Reference

Namespaces

 segmentation
 

Classes

class  AdaptiveManifoldFilter
 Interface for Adaptive Manifold Filter realizations. More...
 
class  DisparityFilter
 Main interface for all disparity map filters. More...
 
class  DisparityWLSFilter
 Disparity map filter based on Weighted Least Squares filter (in form of Fast Global Smoother that is a lot faster than traditional Weighted Least Squares filter implementations) and optional use of left-right-consistency-based confidence to refine the results in half-occlusions and uniform areas. More...
 
class  DTFilter
 Interface for realizations of Domain Transform filter. More...
 
class  EdgeAwareInterpolator
 Sparse match interpolation algorithm based on modified locally-weighted affine estimator from [143] and Fast Global Smoother as post-processing filter. More...
 
class  FastGlobalSmootherFilter
 Interface for implementations of Fast Global Smoother filter. More...
 
class  FastLineDetector
 Class implementing the FLD (Fast Line Detector) algorithm described in [95] . More...
 
class  GuidedFilter
 Interface for realizations of Guided Filter. More...
 
class  RFFeatureGetter
 
class  SparseMatchInterpolator
 Main interface for all filters, that take sparse matches as an input and produce a dense per-pixel matching (optical flow) as an output. More...
 
class  StructuredEdgeDetection
 Class implementing edge detection algorithm from [39] : More...
 
class  SuperpixelLSC
 Class implementing the LSC (Linear Spectral Clustering) superpixels algorithm described in [99]. More...
 
class  SuperpixelSEEDS
 Class implementing the SEEDS (Superpixels Extracted via Energy-Driven Sampling) superpixels algorithm described in [177] . More...
 
class  SuperpixelSLIC
 Class implementing the SLIC (Simple Linear Iterative Clustering) superpixels algorithm described in [1]. More...
 

Enumerations

enum  AngleRangeOption {
  ARO_0_45 = 0,
  ARO_45_90 = 1,
  ARO_90_135 = 2,
  ARO_315_0 = 3,
  ARO_315_45 = 4,
  ARO_45_135 = 5,
  ARO_315_135 = 6,
  ARO_CTR_HOR = 7,
  ARO_CTR_VER = 8
}
 Specifies the part of Hough space to calculate. More...
 
enum  EdgeAwareFiltersList {
  DTF_NC,
  DTF_IC,
  DTF_RF,
  GUIDED_FILTER,
  AM_FILTER
}
 
enum  HoughDeskewOption {
  HDO_RAW = 0,
  HDO_DESKEW = 1
}
 Specifies to do or not to do skewing of Hough transform image. More...
 
enum  HoughOp {
  FHT_MIN = 0,
  FHT_MAX = 1,
  FHT_ADD = 2,
  FHT_AVE = 3
}
 Specifies binary operations. More...
 
enum  LocalBinarizationMethods {
  BINARIZATION_NIBLACK = 0,
  BINARIZATION_SAUVOLA = 1,
  BINARIZATION_WOLF = 2,
  BINARIZATION_NICK = 3
}
 Specifies the binarization method to use in cv::ximgproc::niBlackThreshold. More...
 
enum  RulesOption {
  RO_STRICT = 0x00,
  RO_IGNORE_BORDERS = 0x01
}
 Specifies the degree of rules validation. More...
 
enum  SLIC {
  SLIC = 100,
  SLICO = 101,
  MSLIC = 102
}
 
enum  ThinningTypes {
  THINNING_ZHANGSUEN = 0,
  THINNING_GUOHALL = 1
}
 
enum  WMFWeightType {
  WMF_EXP = 1,
  WMF_IV1 = 1 << 1,
  WMF_IV2 = 1 << 2,
  WMF_COS = 1 << 3,
  WMF_JAC = 1 << 4,
  WMF_OFF = 1 << 5
}
 Specifies weight types of weighted median filter. More...
 

Functions

void amFilter (InputArray joint, InputArray src, OutputArray dst, double sigma_s, double sigma_r, bool adjust_outliers=false)
 Simple one-line Adaptive Manifold Filter call. More...
 
void anisotropicDiffusion (InputArray src, OutputArray dst, float alpha, float K, int niters)
 Performs anisotropic diffusian on an image. More...
 
void bilateralTextureFilter (InputArray src, OutputArray dst, int fr=3, int numIter=1, double sigmaAlpha=-1., double sigmaAvg=-1.)
 Applies the bilateral texture filter to an image. It performs structure-preserving texture filter. For more details about this filter see [31]. More...
 
double computeBadPixelPercent (InputArray GT, InputArray src, Rect ROI, int thresh=24)
 Function for computing the percent of "bad" pixels in the disparity map (pixels where error is higher than a specified threshold) More...
 
double computeMSE (InputArray GT, InputArray src, Rect ROI)
 Function for computing mean square error for disparity maps. More...
 
void covarianceEstimation (InputArray src, OutputArray dst, int windowRows, int windowCols)
 Computes the estimated covariance matrix of an image using the sliding window forumlation. More...
 
Ptr< AdaptiveManifoldFiltercreateAMFilter (double sigma_s, double sigma_r, bool adjust_outliers=false)
 Factory method, create instance of AdaptiveManifoldFilter and produce some initialization routines. More...
 
Ptr< DisparityWLSFiltercreateDisparityWLSFilter (Ptr< StereoMatcher > matcher_left)
 Convenience factory method that creates an instance of DisparityWLSFilter and sets up all the relevant filter parameters automatically based on the matcher instance. Currently supports only StereoBM and StereoSGBM. More...
 
Ptr< DisparityWLSFiltercreateDisparityWLSFilterGeneric (bool use_confidence)
 More generic factory method, create instance of DisparityWLSFilter and execute basic initialization routines. When using this method you will need to set-up the ROI, matchers and other parameters by yourself. More...
 
Ptr< DTFiltercreateDTFilter (InputArray guide, double sigmaSpatial, double sigmaColor, int mode=DTF_NC, int numIters=3)
 Factory method, create instance of DTFilter and produce initialization routines. More...
 
Ptr< EdgeAwareInterpolatorcreateEdgeAwareInterpolator ()
 Factory method that creates an instance of the EdgeAwareInterpolator. More...
 
Ptr< FastGlobalSmootherFiltercreateFastGlobalSmootherFilter (InputArray guide, double lambda, double sigma_color, double lambda_attenuation=0.25, int num_iter=3)
 Factory method, create instance of FastGlobalSmootherFilter and execute the initialization routines. More...
 
Ptr< FastLineDetectorcreateFastLineDetector (int _length_threshold=10, float _distance_threshold=1.414213562f, double _canny_th1=50.0, double _canny_th2=50.0, int _canny_aperture_size=3, bool _do_merge=false)
 Creates a smart pointer to a FastLineDetector object and initializes it. More...
 
Ptr< GuidedFiltercreateGuidedFilter (InputArray guide, int radius, double eps)
 Factory method, create instance of GuidedFilter and produce initialization routines. More...
 
Ptr< RFFeatureGettercreateRFFeatureGetter ()
 
Ptr< StereoMatchercreateRightMatcher (Ptr< StereoMatcher > matcher_left)
 Convenience method to set up the matcher for computing the right-view disparity map that is required in case of filtering with confidence. More...
 
Ptr< StructuredEdgeDetectioncreateStructuredEdgeDetection (const String &model, Ptr< const RFFeatureGetter > howToGetFeatures=Ptr< RFFeatureGetter >())
 
Ptr< SuperpixelLSCcreateSuperpixelLSC (InputArray image, int region_size=10, float ratio=0.075f)
 Class implementing the LSC (Linear Spectral Clustering) superpixels. More...
 
Ptr< SuperpixelSEEDScreateSuperpixelSEEDS (int image_width, int image_height, int image_channels, int num_superpixels, int num_levels, int prior=2, int histogram_bins=5, bool double_step=false)
 Initializes a SuperpixelSEEDS object. More...
 
Ptr< SuperpixelSLICcreateSuperpixelSLIC (InputArray image, int algorithm=SLICO, int region_size=10, float ruler=10.0f)
 Initialize a SuperpixelSLIC object. More...
 
void dtFilter (InputArray guide, InputArray src, OutputArray dst, double sigmaSpatial, double sigmaColor, int mode=DTF_NC, int numIters=3)
 Simple one-line Domain Transform filter call. If you have multiple images to filter with the same guided image then use DTFilter interface to avoid extra computations on initialization stage. More...
 
void fastGlobalSmootherFilter (InputArray guide, InputArray src, OutputArray dst, double lambda, double sigma_color, double lambda_attenuation=0.25, int num_iter=3)
 Simple one-line Fast Global Smoother filter call. If you have multiple images to filter with the same guide then use FastGlobalSmootherFilter interface to avoid extra computations. More...
 
void FastHoughTransform (InputArray src, OutputArray dst, int dstMatDepth, int angleRange=ARO_315_135, int op=FHT_ADD, int makeSkew=HDO_DESKEW)
 Calculates 2D Fast Hough transform of an image. More...
 
void getDisparityVis (InputArray src, OutputArray dst, double scale=1.0)
 Function for creating a disparity map visualization (clamped CV_8U image) More...
 
void GradientDericheX (InputArray _op, OutputArray _dst, double alphaDerive, double alphaMean)
 Applies X Deriche filter to an image. More...
 
void GradientDericheY (InputArray _op, OutputArray _dst, double alphaDerive, double alphaMean)
 Applies Y Deriche filter to an image. More...
 
void GradientPaillouX (InputArray op, OutputArray _dst, double alpha, double omega)
 
void GradientPaillouY (InputArray op, OutputArray _dst, double alpha, double omega)
 Applies Paillou filter to an image. More...
 
void guidedFilter (InputArray guide, InputArray src, OutputArray dst, int radius, double eps, int dDepth=-1)
 Simple one-line Guided Filter call. More...
 
Vec4i HoughPoint2Line (const Point &houghPoint, InputArray srcImgInfo, int angleRange=ARO_315_135, int makeSkew=HDO_DESKEW, int rules=RO_IGNORE_BORDERS)
 Calculates coordinates of line segment corresponded by point in Hough space. More...
 
void jointBilateralFilter (InputArray joint, InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace, int borderType=BORDER_DEFAULT)
 Applies the joint bilateral filter to an image. More...
 
void l0Smooth (InputArray src, OutputArray dst, double lambda=0.02, double kappa=2.0)
 Global image smoothing via L0 gradient minimization. More...
 
void niBlackThreshold (InputArray _src, OutputArray _dst, double maxValue, int type, int blockSize, double k, int binarizationMethod=BINARIZATION_NIBLACK)
 Performs thresholding on input images using Niblack's technique or some of the popular variations it inspired. More...
 
int readGT (String src_path, OutputArray dst)
 Function for reading ground truth disparity maps. Supports basic Middlebury and MPI-Sintel formats. Note that the resulting disparity map is scaled by 16. More...
 
void rollingGuidanceFilter (InputArray src, OutputArray dst, int d=-1, double sigmaColor=25, double sigmaSpace=3, int numOfIter=4, int borderType=BORDER_DEFAULT)
 Applies the rolling guidance filter to an image. More...
 
void thinning (InputArray src, OutputArray dst, int thinningType=THINNING_ZHANGSUEN)
 Applies a binary blob thinning operation, to achieve a skeletization of the input image. More...
 
void weightedMedianFilter (InputArray joint, InputArray src, OutputArray dst, int r, double sigma=25.5, int weightType=WMF_EXP, InputArray mask=noArray())
 Applies weighted median filter to an image. More...
 

Enumeration Type Documentation

§ AngleRangeOption

Specifies the part of Hough space to calculate.

The enum specifies the part of Hough space to calculate. Each member specifies primarily direction of lines (horizontal or vertical) and the direction of angle changes. Direction of angle changes is from multiples of 90 to odd multiples of 45. The image considered to be written top-down and left-to-right. Angles are started from vertical line and go clockwise. Separate quarters and halves are written in orientation they should be in full Hough space.

Enumerator
ARO_0_45 
ARO_45_90 
ARO_90_135 
ARO_315_0 
ARO_315_45 
ARO_45_135 
ARO_315_135 
ARO_CTR_HOR 
ARO_CTR_VER 

§ HoughDeskewOption

Specifies to do or not to do skewing of Hough transform image.

The enum specifies to do or not to do skewing of Hough transform image so it would be no cycling in Hough transform image through borders of image.

Enumerator
HDO_RAW 
HDO_DESKEW 

§ HoughOp

Specifies binary operations.

The enum specifies binary operations, that is such ones which involve two operands. Formally, a binary operation \( f \) on a set \( S \) is a binary relation that maps elements of the Cartesian product \( S \times S \) to \( S \):

\[ f: S \times S \to S \]

Enumerator
FHT_MIN 
FHT_MAX 
FHT_ADD 
FHT_AVE 

§ LocalBinarizationMethods

Specifies the binarization method to use in cv::ximgproc::niBlackThreshold.

Enumerator
BINARIZATION_NIBLACK 

Classic Niblack binarization. See [128] .

BINARIZATION_SAUVOLA 

Sauvola's technique. See [153] .

BINARIZATION_WOLF 

Wolf's technique. See [192] .

BINARIZATION_NICK 

NICK technique. See [88] .

§ RulesOption

Specifies the degree of rules validation.

The enum specifies the degree of rules validation. This can be used, for example, to choose a proper way of input arguments validation.

Enumerator
RO_STRICT 

Validate each rule in a proper way.

RO_IGNORE_BORDERS 

Skip validations of image borders.

§ ThinningTypes

Enumerator
THINNING_ZHANGSUEN 
THINNING_GUOHALL 

§ WMFWeightType

Specifies weight types of weighted median filter.

Enumerator
WMF_EXP 

\(exp(-|I1-I2|^2/(2*sigma^2))\)

WMF_IV1 

\((|I1-I2|+sigma)^-1\)

WMF_IV2 

\((|I1-I2|^2+sigma^2)^-1\)

WMF_COS 

\(dot(I1,I2)/(|I1|*|I2|)\)

WMF_JAC 

\((min(r1,r2)+min(g1,g2)+min(b1,b2))/(max(r1,r2)+max(g1,g2)+max(b1,b2))\)

WMF_OFF 

unweighted

Function Documentation

§ covarianceEstimation()

void cv::ximgproc::covarianceEstimation ( InputArray  src,
OutputArray  dst,
int  windowRows,
int  windowCols 
)

Computes the estimated covariance matrix of an image using the sliding window forumlation.

Parameters
srcThe source image. Input image must be of a complex type.
dstThe destination estimated covariance matrix. Output matrix will be size (windowRows*windowCols, windowRows*windowCols).
windowRowsThe number of rows in the window.
windowColsThe number of cols in the window. The window size parameters control the accuracy of the estimation. The sliding window moves over the entire image from the top-left corner to the bottom right corner. Each location of the window represents a sample. If the window is the size of the image, then this gives the exact covariance matrix. For all other cases, the sizes of the window will impact the number of samples and the number of elements in the estimated covariance matrix.

§ FastHoughTransform()

void cv::ximgproc::FastHoughTransform ( InputArray  src,
OutputArray  dst,
int  dstMatDepth,
int  angleRange = ARO_315_135,
int  op = FHT_ADD,
int  makeSkew = HDO_DESKEW 
)

Calculates 2D Fast Hough transform of an image.

Parameters
dstThe destination image, result of transformation.
srcThe source (input) image.
dstMatDepthThe depth of destination image
opThe operation to be applied, see cv::HoughOp
angleRangeThe part of Hough space to calculate, see cv::AngleRangeOption
makeSkewSpecifies to do or not to do image skewing, see cv::HoughDeskewOption

The function calculates the fast Hough transform for full, half or quarter range of angles.

§ HoughPoint2Line()

Vec4i cv::ximgproc::HoughPoint2Line ( const Point houghPoint,
InputArray  srcImgInfo,
int  angleRange = ARO_315_135,
int  makeSkew = HDO_DESKEW,
int  rules = RO_IGNORE_BORDERS 
)

Calculates coordinates of line segment corresponded by point in Hough space.

Parameters
houghPointPoint in Hough space.
srcImgInfoThe source (input) image of Hough transform.
angleRangeThe part of Hough space where point is situated, see cv::AngleRangeOption
makeSkewSpecifies to do or not to do image skewing, see cv::HoughDeskewOption
rulesSpecifies strictness of line segment calculating, see cv::RulesOption
Return values
[Vec4i]Coordinates of line segment corresponded by point in Hough space.
Remarks
If rules parameter set to RO_STRICT then returned line cut along the border of source image.
If rules parameter set to RO_WEAK then in case of point, which belongs the incorrect part of Hough image, returned line will not intersect source image.

The function calculates coordinates of line segment corresponded by point in Hough space.

§ weightedMedianFilter()

void cv::ximgproc::weightedMedianFilter ( InputArray  joint,
InputArray  src,
OutputArray  dst,
int  r,
double  sigma = 25.5,
int  weightType = WMF_EXP,
InputArray  mask = noArray() 
)

Applies weighted median filter to an image.

For more details about this implementation, please see [203]

Parameters
jointJoint 8-bit, 1-channel or 3-channel image.
srcSource 8-bit or floating-point, 1-channel or 3-channel image.
dstDestination image.
rRadius of filtering kernel, should be a positive integer.
sigmaFilter range standard deviation for the joint image.
weightTypeweightType The type of weight definition, see WMFWeightType
maskA 0-1 mask that has the same size with I. This mask is used to ignore the effect of some pixels. If the pixel value on mask is 0, the pixel will be ignored when maintaining the joint-histogram. This is useful for applications like optical flow occlusion handling.
See also
medianBlur, jointBilateralFilter