EstervQrCode 1.1.1
Library for qr code manipulation
segmentation.hpp
1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4 
5 #ifndef OPENCV_IMGPROC_SEGMENTATION_HPP
6 #define OPENCV_IMGPROC_SEGMENTATION_HPP
7 
8 #include "opencv2/imgproc.hpp"
9 
10 namespace cv {
11 
12 namespace segmentation {
13 
16 
17 
31 {
32 public:
33  CV_WRAP
35 
45  CV_WRAP
46  IntelligentScissorsMB& setWeights(float weight_non_edge, float weight_gradient_direction, float weight_gradient_magnitude);
47 
57  CV_WRAP
58  IntelligentScissorsMB& setGradientMagnitudeMaxLimit(float gradient_magnitude_threshold_max = 0.0f);
59 
73  CV_WRAP
74  IntelligentScissorsMB& setEdgeFeatureZeroCrossingParameters(float gradient_magnitude_min_value = 0.0f);
75 
82  CV_WRAP
84  double threshold1, double threshold2,
85  int apertureSize = 3, bool L2gradient = false
86  );
87 
92  CV_WRAP
94 
104  CV_WRAP
106  InputArray non_edge, InputArray gradient_direction, InputArray gradient_magnitude,
107  InputArray image = noArray()
108  );
109 
116  CV_WRAP void buildMap(const Point& sourcePt);
117 
126  CV_WRAP void getContour(const Point& targetPt, OutputArray contour, bool backward = false) const;
127 
128 #ifndef CV_DOXYGEN
129  struct Impl;
130  inline Impl* getImpl() const { return impl.get(); }
131 protected:
133 #endif
134 };
135 
137 
138 } // namespace segmentation
139 } // namespace cv
140 
141 #endif // OPENCV_IMGPROC_SEGMENTATION_HPP
Template class for 2D points specified by its coordinates x and y.
Definition: types.hpp:163
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:296
Intelligent Scissors image segmentation.
Definition: segmentation.hpp:31
CV_WRAP void buildMap(const Point &sourcePt)
Prepares a map of optimal paths for the given source point on the image.
CV_WRAP IntelligentScissorsMB & setEdgeFeatureZeroCrossingParameters(float gradient_magnitude_min_value=0.0f)
Switch to "Laplacian Zero-Crossing" edge feature extractor and specify its parameters.
CV_WRAP IntelligentScissorsMB & setWeights(float weight_non_edge, float weight_gradient_direction, float weight_gradient_magnitude)
Specify weights of feature functions.
CV_WRAP IntelligentScissorsMB & applyImage(InputArray image)
Specify input image and extract image features.
std::shared_ptr< Impl > impl
Definition: segmentation.hpp:132
CV_WRAP IntelligentScissorsMB & applyImageFeatures(InputArray non_edge, InputArray gradient_direction, InputArray gradient_magnitude, InputArray image=noArray())
Specify custom features of input image.
CV_WRAP void getContour(const Point &targetPt, OutputArray contour, bool backward=false) const
Extracts optimal contour for the given target point on the image.
CV_WRAP IntelligentScissorsMB & setGradientMagnitudeMaxLimit(float gradient_magnitude_threshold_max=0.0f)
Specify gradient magnitude max value threshold.
Impl * getImpl() const
Definition: segmentation.hpp:130
CV_WRAP IntelligentScissorsMB & setEdgeFeatureCannyParameters(double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false)
Switch edge feature extractor to use Canny edge detector.
CV_EXPORTS InputOutputArray noArray()
CV__DEBUG_NS_END typedef const _InputArray & InputArray
Definition: mat.hpp:442
#define CV_EXPORTS_W_SIMPLE
Definition: cvdef.h:473
#define CV_WRAP
Definition: cvdef.h:481
CvArr double threshold1
Definition: imgproc_c.h:860
CvArr double double threshold2
Definition: imgproc_c.h:861
CvSeq * contour
Definition: imgproc_c.h:1173
"black box" representation of the file storage associated with a file on disk.
Definition: calib3d.hpp:441