* Estimate the relative position and orientation of the stereo camera "heads" and compute the *rectification* transformation that makes the camera optical axes parallel.
+.. Sample code::
+ * : A calibration sample for 3 cameras in horizontal position can be found at opencv_source_code/samples/cpp/3calibration.cpp
+ * : A calibration sample based on a sequence of images can be found at opencv_source_code/samples/cpp/calibration.cpp
+ * : A calibration sample in order to do 3D reconstruction can be found at opencv_source_code/samples/cpp/build3dmodel.cpp
+ * : A calibration sample of an artificially generated camera and chessboard patterns can be found at opencv_source_code/samples/cpp/calibration_artificial.cpp
+ * : A calibration example on stereo calibration can be found at opencv_source_code/samples/cpp/stereo_calib.cpp
+ * : A calibration example on stereo matching can be found at opencv_source_code/samples/cpp/stereo_match.cpp
calibrateCamera
---------------
:ocv:func:`warpPerspective`,
:ocv:func:`perspectiveTransform`
+.. Sample code::
+
+ * : A example on calculating a homography for image matching can be found at opencv_source_code/samples/cpp/video_homography.cpp
estimateAffine3D
--------------------
.. highlight:: cpp
+.. Sample code::
+
+ * : An example using the FaceRecognizer class can be found at opencv_source_code/samples/cpp/facerec_demo.cpp
+
FaceRecognizer
--------------
openFABMAP requires training data (e.g. a collection of images from a similar but not identical environment) to construct a visual vocabulary for the visual bag-of-words model, along with a Chow-Liu tree representation of feature likelihood and for use in the Sampled new place method (see below).
+.. Sample code::
+
+ * : An example using the openFABMAP package can be found at opencv_source_code/samples/cpp/fabmap_sample.cpp
+
of2::FabMap
--------------------
void activateContoursProcessing (const bool activate);
};
+.. Sample code::
+
+ * : An example on retina tone mapping can be found at opencv_source_code/samples/cpp/OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp
+ * : An example on retina tone mapping on video input can be found at opencv_source_code/samples/cpp/OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp
+ * : A complete example illustrating the retina interface can be found at opencv_source_code/samples/cpp/retinaDemo.cpp
Description
+++++++++++
The matrix iterators are random-access iterators, so they can be passed to any STL algorithm, including ``std::sort()`` .
+.. Sample code::
+
+ * : An example demonstrating the serial out capabilities of cv::Mat can be found at opencv_source_code/samples/cpp/cout_mat.cpp
.. _MatrixExpressions:
attempts to 1, initialize labels each time using a custom algorithm, pass them with the
( ``flags`` = ``KMEANS_USE_INITIAL_LABELS`` ) flag, and then choose the best (most-compact) clustering.
+.. Sample code::
+
+ * : An example on K-means clustering can be found at opencv_source_code/samples/cpp/kmeans.cpp
+
partition
-------------
Splits an element set into equivalency classes.
.. note:: The functions do not support alpha-transparency when the target image is 4-channel. In this case, the ``color[3]`` is simply copied to the repainted pixels. Thus, if you want to paint semi-transparent shapes, you can paint them in a separate buffer and then blend it with the main image.
+.. Sample code::
+
+ * : An example on using variate drawing functions like line, rectangle, ... can be found at opencv_source_code/samples/cpp/drawing.cpp
+
circle
----------
Draws a circle.
.. seealso:: :ocv:func:`dct` , :ocv:func:`getOptimalDFTSize` , :ocv:func:`mulSpectrums`, :ocv:func:`filter2D` , :ocv:func:`matchTemplate` , :ocv:func:`flip` , :ocv:func:`cartToPolar` , :ocv:func:`magnitude` , :ocv:func:`phase`
+.. Sample code::
+
+ * : An example using the discrete fourier transform can be found at opencv_source_code/samples/cpp/dft.cpp
divide
:ocv:func:`dft`,
:ocv:func:`dct`
+.. Sample code::
+ * : An example using PCA for dimensionality reduction while maintaining an amount of variance can be found at opencv_source_code/samples/cpp/pca.cpp
PCA::PCA
--------
*
In YAML (but not XML), mappings and sequences can be written in a compact Python-like inline form. In the sample above matrix elements, as well as each feature, including its lbp value, is stored in such inline form. To store a mapping/sequence in a compact form, put ":" after the opening character, e.g. use **"{:"** instead of **"{"** and **"[:"** instead of **"["**. When the data is written to XML, those extra ":" are ignored.
+.. Sample code::
+
+ * : A complete example using the FileStorage interface can be found at opencv_source_code/samples/cpp/filestorage.cpp
+
Reading data from a file storage.
---------------------------------
descriptor extractors inherit the
:ocv:class:`DescriptorExtractor` interface.
+.. Sample code::
+ * : An example explaining keypoint extraction can be found at opencv_source_code/samples/cpp/descriptor_extractor_matcher.cpp
+ * : An example on descriptor evaluation can be found at opencv_source_code/samples/cpp/detector_descriptor_evaluation.cpp
DescriptorExtractor
-------------------
...
};
+.. Sample code::
+ * : A complete BRIEF extractor sample can be found at opencv_source_code/samples/cpp/brief_match_test.cpp
descriptor matchers inherit the
:ocv:class:`DescriptorMatcher` interface.
+.. Sample code::
+
+ * : An example explaining keypoint matching can be found at opencv_source_code/samples/cpp/descriptor_extractor_matcher.cpp
+ * : An example on descriptor matching evaluation can be found at opencv_source_code/samples/cpp/detector_descriptor_matcher_evaluation.cpp
+ * : An example on one to many image matching can be found at opencv_source_code/samples/cpp/matching_to_many_images.cpp
+
DMatch
------
.. ocv:struct:: DMatch
inherit the
:ocv:class:`FeatureDetector` interface.
+.. Sample code::
+
+ * : An example explaining keypoint detection can be found at opencv_source_code/samples/cpp/descriptor_extractor_matcher.cpp
+
+
KeyPoint
--------
.. ocv:class:: KeyPoint
:ocv:class:`VectorDescriptorMatcher` ).
There are descriptors such as the One-way descriptor and Ferns that have the ``GenericDescriptorMatcher`` interface implemented but do not support ``DescriptorExtractor``.
+.. Sample code::
+ * : An example explaining keypoint description can be found at opencv_source_code/samples/cpp/descriptor_extractor_matcher.cpp
+ * : An example on descriptor matching evaluation can be found at opencv_source_code/samples/cpp/detector_descriptor_matcher_evaluation.cpp
+ * : An example on one to many image matching can be found at opencv_source_code/samples/cpp/matching_to_many_images.cpp
GenericDescriptorMatcher
------------------------
.. highlight:: cpp
+.. Sample code::
+
+ * : An example explaining keypoint detection and description can be found at opencv_source_code/samples/cpp/descriptor_extractor_matcher.cpp
+
FAST
----
Detects corners using the FAST algorithm
.. [AOV12] A. Alahi, R. Ortiz, and P. Vandergheynst. FREAK: Fast Retina Keypoint. In IEEE Conference on Computer Vision and Pattern Recognition, 2012. CVPR 2012 Open Source Award Winner.
+.. Sample code::
+
+ * : An example on how to use the FREAK descriptor can be found at opencv_source_code/samples/cpp/freak_demo.cpp
+
FREAK::FREAK
------------
The FREAK constructor
This section describes approaches based on local 2D features and used to categorize objects.
+.. Sample code:: A complete Bag-Of-Words sample can be found at opencv_source_code/samples/cpp/bagofwords_classification.cpp
+
BOWTrainer
----------
.. ocv:class:: BOWTrainer
Interfaces of all methods are kept similar to the ``CPU HOG`` descriptor and detector analogues as much as possible.
+.. Sample code::
+ * : An example applying the HOG descriptor for people detection can be found at opencv_source_code/samples/cpp/peopledetect.cpp
gpu::HOGDescriptor::HOGDescriptor
-------------------------------------
.. note:: In C API the black-box structure ``CvCapture`` is used instead of ``VideoCapture``.
+.. Sample code::
+
+ * : A basic sample on using the VideoCapture interface can be found at opencv_source_code/samples/cpp/starter_video.cpp
+ * : Another basic video processing sample can be found at opencv_source_code/samples/cpp/video_dmtx.cpp
VideoCapture::VideoCapture
------------------------------
Clicking the label of each trackbar enables editing the trackbar values manually.
+.. Sample code::
+
+ * : An example of using the trackbar functionality can be found at opencv_source_code/samples/cpp/connected_components.cpp
+
getTrackbarPos
------------------
Returns the trackbar position.
The function finds edges in the input image ``image`` and marks them in the output map ``edges`` using the Canny algorithm. The smallest value between ``threshold1`` and ``threshold2`` is used for edge linking. The largest value is used to find initial segments of strong edges. See
http://en.wikipedia.org/wiki/Canny_edge_detector
+.. Sample code::
+ * : An example on using the canny edge detector can be found at opencv_source_code/samples/cpp/edge.cpp
cornerEigenValsAndVecs
----------------------
:ocv:func:`fitEllipse`,
:ocv:func:`minEnclosingCircle`
+.. Sample code::
+
+ * : An example using the Hough circle detector can be found at opencv_source_code/samples/cpp/houghcircles.cpp
HoughLines
----------
The function implements the standard or standard multi-scale Hough transform algorithm for line detection. See http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm for a good explanation of Hough transform.
See also the example in :ocv:func:`HoughLinesP` description.
+.. Sample code::
+
+ * : An example using the Hough line detector can be found at opencv_source_code/samples/cpp/houghlines.cpp
+
HoughLinesP
-----------
Finds line segments in a binary image using the probabilistic Hough transform.
:ocv:func:`morphologyEx`,
:ocv:func:`createMorphologyFilter`
+.. Sample code::
+
+ * : An example using the morphological dilate operation can be found at opencv_source_code/samples/cpp/morphology2.cpp
erode
-----
:ocv:func:`morphologyEx`,
:ocv:func:`createMorphologyFilter`
+.. Sample code::
+ * : An example using the morphological erode operation can be found at opencv_source_code/samples/cpp/morphology2.cpp
filter2D
--------
:ocv:func:`erode`,
:ocv:func:`createMorphologyFilter`
+.. Sample code::
+
+ * : An example using the morphologyEx function for the morphological opening and closing operations can be found at opencv_source_code/samples/cpp/morphology2.cpp
Laplacian
---------
:ocv:func:`Sobel`,
:ocv:func:`Scharr`
+.. Sample code::
+ * : An example using the Laplace transformation for edge detection can be found at opencv_source_code/samples/cpp/laplace.cpp
pyrDown
-------
When ``maxLevel > 0``, the gaussian pyramid of ``maxLevel+1`` levels is built, and the above procedure is run on the smallest layer first. After that, the results are propagated to the larger layer and the iterations are run again only on those pixels where the layer colors differ by more than ``sr`` from the lower-resolution layer of the pyramid. That makes boundaries of color regions sharper. Note that the results will be actually different from the ones obtained by running the meanshift procedure on the whole original image (i.e. when ``maxLevel==0``).
+.. Sample code::
+
+ * : An example using mean-shift image segmentation can be found at opencv_source_code/samples/cpp/meanshift_segmentation.cpp
sepFilter2D
-----------
The function emulates the human "foveal" vision and can be used for fast scale and rotation-invariant template matching, for object tracking and so forth. The function can not operate in-place.
+.. Sample code::
+
+ * : An example using the geometric logpolar operation in 4 applications can be found at opencv_source_code/samples/cpp/logpolar_bsm.cpp
remap
-----
waitKey();
}
+.. Sample code::
+ * : An example for creating histograms of an image can be found at opencv_source_code/samples/cpp/demhist.cpp
calcBackProject
That is, the function provides a very fast way to compute the Voronoi diagram for a binary image.
Currently, the second variant can use only the approximate distance transform algorithm, i.e. ``maskSize=CV_DIST_MASK_PRECISE`` is not supported yet.
+.. Sample code::
+
+ * : An example on using the distance transform can be found at opencv_source_code/samples/cpp/distrans.cpp
+
floodFill
---------
Fills a connected component with the given color.
*
Color/brightness of the seed point in case of a fixed range.
-Use these functions to either mark a connected component with the specified color in-place, or build a mask and then extract the contour, or copy the region to another image, and so on. Various modes of the function are demonstrated in the ``floodfill.cpp`` sample.
+Use these functions to either mark a connected component with the specified color in-place, or build a mask and then extract the contour, or copy the region to another image, and so on.
.. seealso:: :ocv:func:`findContours`
+.. Sample code::
+ * : An example using the FloodFill technique can be found at opencv_source_code/samples/cpp/ffilldemo.cpp
integral
--------
.. seealso:: :ocv:func:`findContours`
+.. Sample code::
+
+ * : An example using the watershed algorithm can be found at opencv_source_code/samples/cpp/watershed.cpp
+
grabCut
-------
Runs the GrabCut algorithm.
.. [Meyer92] Meyer, F. *Color Image Segmentation*, ICIP92, 1992
.. [Telea04] Alexandru Telea, *An Image Inpainting Technique Based on the Fast Marching Method*. Journal of Graphics, GPU, and Game Tools 9 1, pp 23-34 (2004)
+
+.. Sample code::
+
+ * : An example using the GrabCut algorithm can be found at opencv_source_code/samples/cpp/grabcut.cpp
\ No newline at end of file
.. note:: If you use the new Python interface then the ``CV_`` prefix has to be omitted in contour retrieval mode and contour approximation method parameters (for example, use ``cv2.RETR_LIST`` and ``cv2.CHAIN_APPROX_NONE`` parameters). If you use the old Python interface then these parameters have the ``CV_`` prefix (for example, use ``cv.CV_RETR_LIST`` and ``cv.CV_CHAIN_APPROX_NONE``).
+.. Sample code::
+
+ * : An example using the findContour functionality can be found at opencv_source_code/samples/cpp/contours2.cpp
+ * : An example using findContours to clean up a background segmentation result at opencv_source_code/samples/cpp/segment_objects.cpp
+
+
drawContours
----------------
Draws contours outlines or filled contours.
waitKey(0);
}
+.. Sample code::
+ * : An example using the drawContour functionality can be found at opencv_source_code/samples/cpp/contours2.cpp
+ * : An example using drawContours to clean up a background segmentation result at opencv_source_code/samples/cpp/segment_objects.cpp
approxPolyDP
----------------
that has
*O(N logN)* complexity in the current implementation. See the OpenCV sample ``convexhull.cpp`` that demonstrates the usage of different function variants.
+.. Sample code::
+
+ * : An example using the convexHull functionality can be found at opencv_source_code/samples/cpp/convexhull.cpp
+
convexityDefects
----------------
The function calculates the ellipse that fits (in a least-squares sense) a set of 2D points best of all. It returns the rotated rectangle in which the ellipse is inscribed. The algorithm [Fitzgibbon95]_ is used.
+.. Sample code::
+
+ * : An example using the fitEllipse technique can be found at opencv_source_code/samples/cpp/fitellipse.cpp
+
fitLine
-----------
Fits a line to a 2D or 3D point set.
.. highlight:: cpp
+.. Sample code::
+
+ * : An example on using the Expectation Maximalization algorithm can be found at opencv_source_code/samples/cpp/em.cpp
+
CvEMParams
----------
:param num_quant_bits: Number of bits used for quantization.
+.. Sample code::
+ * : An example on training a Random Tree Classifier for letter recognition can be found at opencv_source_code\samples\cpp\letter_recog.cpp
RandomizedTree::read
------------------------
.. [Bay06] Bay, H. and Tuytelaars, T. and Van Gool, L. "SURF: Speeded Up Robust Features", 9th European Conference on Computer Vision, 2006
+.. Sample code::
+
+ * : An example using the SURF feature detector can be found at opencv_source_code/samples/cpp/generic_descriptor_match.cpp
+ * : Another example using the SURF feature detector, extractor and matcher can be found at opencv_source_code/samples/cpp/matcher_simple.cpp
SURF::SURF
----------
The function reconstructs the selected image area from the pixel near the area boundary. The function may be used to remove dust and scratches from a scanned photo, or to remove undesirable objects from still images or video. See
http://en.wikipedia.org/wiki/Inpainting
for more details.
+
+.. Sample code::
+
+ * : An example using the inpainting technique can be found at opencv_source_code/samples/cpp/inpaint.cpp
\ No newline at end of file
/* hidden */
};
+.. Sample code::
+
+ * : A basic example on image stitching can be found at opencv_source_code/samples/cpp/stitching.cpp
+ * : A detailed example on image stitching can be found at opencv_source_code/samples/cpp/stitching_detailed.cpp
+
Stitcher::createDefault
-----------------------
Creates a stitcher with the default parameters.
The function implements a sparse iterative version of the Lucas-Kanade optical flow in pyramids. See [Bouguet00]_. The function is parallelized with the TBB library.
+.. Sample code::
+
+ * : An example using the Lucas-Kanade optical flow algorithm can be found at opencv_source_code/samples/cpp/lkdemo.cpp
+
buildOpticalFlowPyramid
-----------------------
Constructs the image pyramid which can be passed to :ocv:func:`calcOpticalFlowPyrLK`.
\texttt{prev} (y,x) \sim \texttt{next} ( y + \texttt{flow} (y,x)[1], x + \texttt{flow} (y,x)[0])
+.. Sample code::
+
+ * : An example using the optical flow algorithm described by Gunnar Farneback can be found at opencv_source_code/samples/cpp/fback.cpp
estimateRigidTransform
--------------------------
:ocv:func:`contourArea` ), and rendering the remaining contours with
:ocv:func:`drawContours` .
+.. Sample code::
+ * : A mean-shift tracking sample can be found at opencv_source_code/samples/cpp/camshiftdemo.cpp
KalmanFilter
------------
The class implements a standard Kalman filter
http://en.wikipedia.org/wiki/Kalman_filter, [Welch95]_. However, you can modify ``transitionMatrix``, ``controlMatrix``, and ``measurementMatrix`` to get an extended Kalman filter functionality. See the OpenCV sample ``kalman.cpp`` .
+.. Sample code::
+ * : An example using the standard Kalman filter can be found at opencv_source_code/samples/cpp/kalman.cpp
KalmanFilter::KalmanFilter
See [Tao2012]_. And site of project - http://graphics.berkeley.edu/papers/Tao-SAN-2012-05/.
+.. Sample code::
+ * : An example using the simpleFlow algorithm can be found at opencv_source_code/samples/cpp/simpleflow_demo.cpp
createOptFlow_DualTVL1
----------------------