OpenCV 4.5.3(日本語機械翻訳)
edge_filter.hpp
1 /*
2 * By downloading, copying, installing or using the software you agree to this license.
3 * If you do not agree to this license, do not download, install,
4 * copy or use the software.
5 *
6 *
7 * License Agreement
8 * For Open Source Computer Vision Library
9 * (3 - clause BSD License)
10 *
11 * Redistribution and use in source and binary forms, with or without modification,
12 * are permitted provided that the following conditions are met :
13 *
14 * * Redistributions of source code must retain the above copyright notice,
15 * this list of conditions and the following disclaimer.
16 *
17 * * Redistributions in binary form must reproduce the above copyright notice,
18 * this list of conditions and the following disclaimer in the documentation
19 * and / or other materials provided with the distribution.
20 *
21 * * Neither the names of the copyright holders nor the names of the contributors
22 * may be used to endorse or promote products derived from this software
23 * without specific prior written permission.
24 *
25 * This software is provided by the copyright holders and contributors "as is" and
26 * any express or implied warranties, including, but not limited to, the implied
27 * warranties of merchantability and fitness for a particular purpose are disclaimed.
28 * In no event shall copyright holders or contributors be liable for any direct,
29 * indirect, incidental, special, exemplary, or consequential damages
30 * (including, but not limited to, procurement of substitute goods or services;
31 * loss of use, data, or profits; or business interruption) however caused
32 * and on any theory of liability, whether in contract, strict liability,
33 * or tort(including negligence or otherwise) arising in any way out of
34 * the use of this software, even if advised of the possibility of such damage.
35 */
36
37 #ifndef __OPENCV_EDGEFILTER_HPP__
38 #define __OPENCV_EDGEFILTER_HPP__
39 #ifdef __cplusplus
40
41 #include <opencv2/core.hpp>
42
43 namespace cv
44{
45 namespace ximgproc
46{
47
50
51 enum EdgeAwareFiltersList
52{
53 DTF_NC,
54 DTF_IC,
55 DTF_RF,
56
57 GUIDED_FILTER,
58 AM_FILTER
59};
60
61
66 class CV_EXPORTS_W DTFilter : public Algorithm
67{
68 public:
69
79 CV_WRAP virtual void filter(InputArray src, OutputArray dst, int dDepth = -1) = 0;
80};
81
101CV_EXPORTS_W
102Ptr<DTFilter> createDTFilter(InputArray guide, double sigmaSpatial, double sigmaColor, int mode = DTF_NC, int numIters = 3);
103
120CV_EXPORTS_W
121 void dtFilter(InputArray guide, InputArray src, OutputArray dst, double sigmaSpatial, double sigmaColor, int mode = DTF_NC, int numIters = 3);
122
125
130 class CV_EXPORTS_W GuidedFilter : public Algorithm
131{
132 public:
133
143 CV_WRAP virtual void filter(InputArray src, OutputArray dst, int dDepth = -1) = 0;
144};
145
158CV_EXPORTS_W Ptr<GuidedFilter> createGuidedFilter(InputArray guide, int radius, double eps);
159
180CV_EXPORTS_W void guidedFilter(InputArray guide, InputArray src, OutputArray dst, int radius, double eps, int dDepth = -1);
181
184
203 class CV_EXPORTS_W AdaptiveManifoldFilter : public Algorithm
204{
205 public:
214 CV_WRAP virtual void filter(InputArray src, OutputArray dst, InputArray joint = noArray()) = 0;
215
216 CV_WRAP virtual void collectGarbage() = 0;
217
218 CV_WRAP static Ptr<AdaptiveManifoldFilter> create();
219
221 virtual double getSigmaS() const = 0;
223 virtual void setSigmaS(double val) = 0;
225 virtual double getSigmaR() const = 0;
227 virtual void setSigmaR(double val) = 0;
229 virtual int getTreeHeight() const = 0;
231 virtual void setTreeHeight(int val) = 0;
233 virtual int getPCAIterations() const = 0;
235 virtual void setPCAIterations(int val) = 0;
237 virtual bool getAdjustOutliers() const = 0;
239 virtual void setAdjustOutliers(bool val) = 0;
241 virtual bool getUseRNG() const = 0;
243 virtual void setUseRNG(bool val) = 0;
244};
245
262CV_EXPORTS_W Ptr<AdaptiveManifoldFilter> createAMFilter(double sigma_s, double sigma_r, bool adjust_outliers = false);
263
284CV_EXPORTS_W void amFilter(InputArray joint, InputArray src, OutputArray dst, double sigma_s, double sigma_r, bool adjust_outliers = false);
285
288
316CV_EXPORTS_W
317 void jointBilateralFilter(InputArray joint, InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace, int borderType = BORDER_DEFAULT);
318
338CV_EXPORTS_W
339 void bilateralTextureFilter(InputArray src, OutputArray dst, int fr = 3, int numIter = 1, double sigmaAlpha = -1., double sigmaAvg = -1.);
340
343
372CV_EXPORTS_W
373 void rollingGuidanceFilter(InputArray src, OutputArray dst, int d = -1, double sigmaColor = 25, double sigmaSpace = 3, int numOfIter = 4, int borderType = BORDER_DEFAULT);
374
377
382 class CV_EXPORTS_W FastBilateralSolverFilter : public Algorithm
383{
384 public:
395 CV_WRAP virtual void filter(InputArray src, InputArray confidence, OutputArray dst) = 0;
396};
397
417CV_EXPORTS_W Ptr<FastBilateralSolverFilter> createFastBilateralSolverFilter(InputArray guide, double sigma_spatial, double sigma_luma, double sigma_chroma, double lambda = 128.0, int num_iter = 25, double max_tol = 1e-5);
418
419
420
448CV_EXPORTS_W 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);
449
452
457 class CV_EXPORTS_W FastGlobalSmootherFilter : public Algorithm
458{
459 public:
466 CV_WRAP virtual void filter(InputArray src, OutputArray dst) = 0;
467};
468
489CV_EXPORTS_W Ptr<FastGlobalSmootherFilter> createFastGlobalSmootherFilter(InputArray guide, double lambda, double sigma_color, double lambda_attenuation=0.25, int num_iter=3);
490
509CV_EXPORTS_W void fastGlobalSmootherFilter(InputArray guide, InputArray src, OutputArray dst, double lambda, double sigma_color, double lambda_attenuation=0.25, int num_iter=3);
510
523CV_EXPORTS_W void l0Smooth(InputArray src, OutputArray dst, double lambda = 0.02, double kappa = 2.0);
525}
526}
527 #endif
528 #endif
@ BORDER_DEFAULT
same as BORDER_REFLECT_101
Definition: base.hpp:277
CV_EXPORTS_W void filter(InputArray image, InputArray kernel, OutputArray output)
Image filtering
cv
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75