OpenCV  4.1.0
Open Source Computer Vision
Namespaces | Classes | Typedefs | Enumerations | Functions
cv::ximgproc Namespace Reference

Namespaces

namespace  rl
 
namespace  segmentation
 

Classes

class  AdaptiveManifoldFilter
 Interface for Adaptive Manifold Filter realizations. More...
 
struct  Box
 
class  ContourFitting
 Class for ContourFitting algorithms. ContourFitting match two contours \( z_a \) and \( z_b \) minimizing distance

\[ d(z_a,z_b)=\sum (a_n - s b_n e^{j(n \alpha +\phi )})^2 \]

where \( a_n \) and \( b_n \) are Fourier descriptors of \( z_a \) and \( z_b \) and s is a scaling factor and \( \phi \) is angle rotation and \( \alpha \) is starting point factor adjustement. 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. More...
 
class  EdgeBoxes
 Class implementing EdgeBoxes algorithm from. More...
 
class  FastBilateralSolverFilter
 Interface for implementations of Fast Bilateral Solver. More...
 
class  FastGlobalSmootherFilter
 Interface for implementations of Fast Global Smoother filter. More...
 
class  FastLineDetector
 Class implementing the FLD (Fast Line Detector) algorithm described in. More...
 
class  GuidedFilter
 Interface for realizations of Guided Filter. More...
 
class  RFFeatureGetter
 
class  RidgeDetectionFilter
 Applies Ridge Detection Filter to an input image. Implements Ridge detection similar to the one in Mathematica using the eigen values from the Hessian Matrix of the input image using Sobel Derivatives. Additional refinement can be done using Skeletonization and Binarization. Adapted from. More...
 
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. More...
 
class  SuperpixelLSC
 Class implementing the LSC (Linear Spectral Clustering) superpixels algorithm described in. More...
 
class  SuperpixelSEEDS
 Class implementing the SEEDS (Superpixels Extracted via Energy-Driven Sampling) superpixels algorithm described in. More...
 
class  SuperpixelSLIC
 Class implementing the SLIC (Simple Linear Iterative Clustering) superpixels algorithm described in. More...
 

Typedefs

typedef std::vector< BoxBoxes
 

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  SLICType {
  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.
 
void anisotropicDiffusion (InputArray src, OutputArray dst, float alpha, float K, int niters)
 Performs anisotropic diffusian on an image.
 
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.
 
void BrightEdges (Mat &_original, Mat &_edgeview, int contrast=1, int shortrange=3, int longrange=9)
 
void colorMatchTemplate (InputArray img, InputArray templ, OutputArray result)
 Compares a color template against overlapped color image regions.
 
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)
 
double computeMSE (InputArray GT, InputArray src, Rect ROI)
 Function for computing mean square error for disparity maps.
 
void contourSampling (InputArray src, OutputArray out, int nbElt)
 Contour sampling .
 
void covarianceEstimation (InputArray src, OutputArray dst, int windowRows, int windowCols)
 Computes the estimated covariance matrix of an image using the sliding window forumlation.
 
Ptr< AdaptiveManifoldFiltercreateAMFilter (double sigma_s, double sigma_r, bool adjust_outliers=false)
 Factory method, create instance of AdaptiveManifoldFilter and produce some initialization routines.
 
Ptr< ContourFittingcreateContourFitting (int ctr=1024, int fd=16)
 create ContourFitting algorithm object
 
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.
 
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.
 
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.
 
Ptr< EdgeAwareInterpolatorcreateEdgeAwareInterpolator ()
 Factory method that creates an instance of the EdgeAwareInterpolator.
 
Ptr< EdgeBoxescreateEdgeBoxes (float alpha=0.65f, float beta=0.75f, float eta=1, float minScore=0.01f, int maxBoxes=10000, float edgeMinMag=0.1f, float edgeMergeThr=0.5f, float clusterMinMag=0.5f, float maxAspectRatio=3, float minBoxArea=1000, float gamma=2, float kappa=1.5f)
 Creates a Edgeboxes.
 
Ptr< FastBilateralSolverFiltercreateFastBilateralSolverFilter (InputArray guide, double sigma_spatial, double sigma_luma, double sigma_chroma, double lambda=128.0, int num_iter=25, double max_tol=1e-5)
 Factory method, create instance of FastBilateralSolverFilter and execute the initialization routines.
 
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.
 
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.
 
Ptr< GuidedFiltercreateGuidedFilter (InputArray guide, int radius, double eps)
 Factory method, create instance of GuidedFilter and produce initialization routines.
 
void createQuaternionImage (InputArray img, OutputArray qimg)
 creates a quaternion image.
 
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.
 
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.
 
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.
 
Ptr< SuperpixelSLICcreateSuperpixelSLIC (InputArray image, int algorithm=SLICO, int region_size=10, float ruler=10.0f)
 Initialize a SuperpixelSLIC object.
 
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.
 
void edgePreservingFilter (InputArray src, OutputArray dst, int d, double threshold)
 Smoothes an image using the Edge-Preserving filter.
 
void fastBilateralSolverFilter (InputArray guide, InputArray src, InputArray confidence, OutputArray dst, double sigma_spatial=8, double sigma_luma=8, double sigma_chroma=8, double lambda=128.0, int num_iter=25, double max_tol=1e-5)
 Simple one-line Fast Bilateral Solver filter call. If you have multiple images to filter with the same guide then use FastBilateralSolverFilter interface to avoid extra computations.
 
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.
 
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.
 
void fourierDescriptor (InputArray src, OutputArray dst, int nbElt=-1, int nbFD=-1)
 Fourier descriptors for planed closed curves.
 
void getDisparityVis (InputArray src, OutputArray dst, double scale=1.0)
 Function for creating a disparity map visualization (clamped CV_8U image)
 
void GradientDericheX (InputArray op, OutputArray dst, double alpha, double omega)
 Applies X Deriche filter to an image.
 
void GradientDericheY (InputArray op, OutputArray dst, double alpha, double omega)
 Applies Y Deriche filter to an image.
 
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.
 
void guidedFilter (InputArray guide, InputArray src, OutputArray dst, int radius, double eps, int dDepth=-1)
 Simple one-line Guided Filter call.
 
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.
 
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.
 
void l0Smooth (InputArray src, OutputArray dst, double lambda=0.02, double kappa=2.0)
 Global image smoothing via L0 gradient minimization.
 
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.
 
Matx23d PeiLinNormalization (InputArray I)
 Calculates an affine transformation that normalize given image using Pei&Lin Normalization.
 
void PeiLinNormalization (InputArray I, OutputArray T)
 
void qconj (InputArray qimg, OutputArray qcimg)
 calculates conjugate of a quaternion image.
 
void qdft (InputArray img, OutputArray qimg, int flags, bool sideLeft)
 Performs a forward or inverse Discrete quaternion Fourier transform of a 2D quaternion array.
 
void qmultiply (InputArray src1, InputArray src2, OutputArray dst)
 Calculates the per-element quaternion product of two arrays.
 
void qunitary (InputArray qimg, OutputArray qnimg)
 divides each element by its modulus.
 
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.
 
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.
 
void thinning (InputArray src, OutputArray dst, int thinningType=THINNING_ZHANGSUEN)
 Applies a binary blob thinning operation, to achieve a skeletization of the input image.
 
void transformFD (InputArray src, InputArray t, OutputArray dst, bool fdContour=true)
 transform a contour
 
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.
 

Enumeration Type Documentation

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 

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 

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 

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

Enumerator
BINARIZATION_NIBLACK 

Classic Niblack binarization. See.

Niblack1985 .

BINARIZATION_SAUVOLA 

Sauvola's technique. See.

Sauvola1997 .

BINARIZATION_WOLF 

Wolf's technique. See.

Wolf2004 .

BINARIZATION_NICK 

NICK technique. See.

Khurshid2009 .

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.

Enumerator
THINNING_ZHANGSUEN 
THINNING_GUOHALL 

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

void cv::ximgproc::BrightEdges ( Mat &  _original,
Mat &  _edgeview,
int  contrast = 1,
int  shortrange = 3,
int  longrange = 9 
)
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.
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.

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.

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 seezhang2014100+

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