001//
002// This file is auto-generated. Please don't modify it!
003//
004package org.opencv.features2d;
005
006import org.opencv.features2d.AKAZE;
007import org.opencv.features2d.Feature2D;
008
009// C++: class AKAZE
010/**
011 * Class implementing the AKAZE keypoint detector and descriptor extractor, described in CITE: ANB13.
012 *
013 * AKAZE descriptors can only be used with KAZE or AKAZE keypoints. This class is thread-safe.
014 *
015 * <b>Note:</b> When you need descriptors use Feature2D::detectAndCompute, which
016 * provides better performance. When using Feature2D::detect followed by
017 * Feature2D::compute scale space pyramid is computed twice.
018 *
019 * <b>Note:</b> AKAZE implements T-API. When image is passed as UMat some parts of the algorithm
020 * will use OpenCL.
021 *
022 * <b>Note:</b> [ANB13] Fast Explicit Diffusion for Accelerated Features in Nonlinear
023 * Scale Spaces. Pablo F. Alcantarilla, Jesús Nuevo and Adrien Bartoli. In
024 * British Machine Vision Conference (BMVC), Bristol, UK, September 2013.
025 */
026public class AKAZE extends Feature2D {
027
028    protected AKAZE(long addr) { super(addr); }
029
030    // internal usage only
031    public static AKAZE __fromPtr__(long addr) { return new AKAZE(addr); }
032
033    // C++: enum DescriptorType (cv.AKAZE.DescriptorType)
034    public static final int
035            DESCRIPTOR_KAZE_UPRIGHT = 2,
036            DESCRIPTOR_KAZE = 3,
037            DESCRIPTOR_MLDB_UPRIGHT = 4,
038            DESCRIPTOR_MLDB = 5;
039
040
041    //
042    // C++: static Ptr_AKAZE cv::AKAZE::create(AKAZE_DescriptorType descriptor_type = AKAZE::DESCRIPTOR_MLDB, int descriptor_size = 0, int descriptor_channels = 3, float threshold = 0.001f, int nOctaves = 4, int nOctaveLayers = 4, KAZE_DiffusivityType diffusivity = KAZE::DIFF_PM_G2)
043    //
044
045    /**
046     * The AKAZE constructor
047     *
048     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
049     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
050     *     @param descriptor_size Size of the descriptor in bits. 0 -&gt; Full size
051     *     @param descriptor_channels Number of channels in the descriptor (1, 2, 3)
052     *     @param threshold Detector response threshold to accept point
053     *     @param nOctaves Maximum octave evolution of the image
054     *     @param nOctaveLayers Default number of sublevels per scale level
055     *     @param diffusivity Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or
056     *     DIFF_CHARBONNIER
057     * @return automatically generated
058     */
059    public static AKAZE create(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold, int nOctaves, int nOctaveLayers, int diffusivity) {
060        return AKAZE.__fromPtr__(create_0(descriptor_type, descriptor_size, descriptor_channels, threshold, nOctaves, nOctaveLayers, diffusivity));
061    }
062
063    /**
064     * The AKAZE constructor
065     *
066     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
067     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
068     *     @param descriptor_size Size of the descriptor in bits. 0 -&gt; Full size
069     *     @param descriptor_channels Number of channels in the descriptor (1, 2, 3)
070     *     @param threshold Detector response threshold to accept point
071     *     @param nOctaves Maximum octave evolution of the image
072     *     @param nOctaveLayers Default number of sublevels per scale level
073     *     DIFF_CHARBONNIER
074     * @return automatically generated
075     */
076    public static AKAZE create(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold, int nOctaves, int nOctaveLayers) {
077        return AKAZE.__fromPtr__(create_1(descriptor_type, descriptor_size, descriptor_channels, threshold, nOctaves, nOctaveLayers));
078    }
079
080    /**
081     * The AKAZE constructor
082     *
083     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
084     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
085     *     @param descriptor_size Size of the descriptor in bits. 0 -&gt; Full size
086     *     @param descriptor_channels Number of channels in the descriptor (1, 2, 3)
087     *     @param threshold Detector response threshold to accept point
088     *     @param nOctaves Maximum octave evolution of the image
089     *     DIFF_CHARBONNIER
090     * @return automatically generated
091     */
092    public static AKAZE create(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold, int nOctaves) {
093        return AKAZE.__fromPtr__(create_2(descriptor_type, descriptor_size, descriptor_channels, threshold, nOctaves));
094    }
095
096    /**
097     * The AKAZE constructor
098     *
099     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
100     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
101     *     @param descriptor_size Size of the descriptor in bits. 0 -&gt; Full size
102     *     @param descriptor_channels Number of channels in the descriptor (1, 2, 3)
103     *     @param threshold Detector response threshold to accept point
104     *     DIFF_CHARBONNIER
105     * @return automatically generated
106     */
107    public static AKAZE create(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold) {
108        return AKAZE.__fromPtr__(create_3(descriptor_type, descriptor_size, descriptor_channels, threshold));
109    }
110
111    /**
112     * The AKAZE constructor
113     *
114     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
115     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
116     *     @param descriptor_size Size of the descriptor in bits. 0 -&gt; Full size
117     *     @param descriptor_channels Number of channels in the descriptor (1, 2, 3)
118     *     DIFF_CHARBONNIER
119     * @return automatically generated
120     */
121    public static AKAZE create(int descriptor_type, int descriptor_size, int descriptor_channels) {
122        return AKAZE.__fromPtr__(create_4(descriptor_type, descriptor_size, descriptor_channels));
123    }
124
125    /**
126     * The AKAZE constructor
127     *
128     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
129     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
130     *     @param descriptor_size Size of the descriptor in bits. 0 -&gt; Full size
131     *     DIFF_CHARBONNIER
132     * @return automatically generated
133     */
134    public static AKAZE create(int descriptor_type, int descriptor_size) {
135        return AKAZE.__fromPtr__(create_5(descriptor_type, descriptor_size));
136    }
137
138    /**
139     * The AKAZE constructor
140     *
141     *     @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,
142     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
143     *     DIFF_CHARBONNIER
144     * @return automatically generated
145     */
146    public static AKAZE create(int descriptor_type) {
147        return AKAZE.__fromPtr__(create_6(descriptor_type));
148    }
149
150    /**
151     * The AKAZE constructor
152     *
153     *     DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
154     *     DIFF_CHARBONNIER
155     * @return automatically generated
156     */
157    public static AKAZE create() {
158        return AKAZE.__fromPtr__(create_7());
159    }
160
161
162    //
163    // C++:  void cv::AKAZE::setDescriptorType(AKAZE_DescriptorType dtype)
164    //
165
166    public void setDescriptorType(int dtype) {
167        setDescriptorType_0(nativeObj, dtype);
168    }
169
170
171    //
172    // C++:  AKAZE_DescriptorType cv::AKAZE::getDescriptorType()
173    //
174
175    public int getDescriptorType() {
176        return getDescriptorType_0(nativeObj);
177    }
178
179
180    //
181    // C++:  void cv::AKAZE::setDescriptorSize(int dsize)
182    //
183
184    public void setDescriptorSize(int dsize) {
185        setDescriptorSize_0(nativeObj, dsize);
186    }
187
188
189    //
190    // C++:  int cv::AKAZE::getDescriptorSize()
191    //
192
193    public int getDescriptorSize() {
194        return getDescriptorSize_0(nativeObj);
195    }
196
197
198    //
199    // C++:  void cv::AKAZE::setDescriptorChannels(int dch)
200    //
201
202    public void setDescriptorChannels(int dch) {
203        setDescriptorChannels_0(nativeObj, dch);
204    }
205
206
207    //
208    // C++:  int cv::AKAZE::getDescriptorChannels()
209    //
210
211    public int getDescriptorChannels() {
212        return getDescriptorChannels_0(nativeObj);
213    }
214
215
216    //
217    // C++:  void cv::AKAZE::setThreshold(double threshold)
218    //
219
220    public void setThreshold(double threshold) {
221        setThreshold_0(nativeObj, threshold);
222    }
223
224
225    //
226    // C++:  double cv::AKAZE::getThreshold()
227    //
228
229    public double getThreshold() {
230        return getThreshold_0(nativeObj);
231    }
232
233
234    //
235    // C++:  void cv::AKAZE::setNOctaves(int octaves)
236    //
237
238    public void setNOctaves(int octaves) {
239        setNOctaves_0(nativeObj, octaves);
240    }
241
242
243    //
244    // C++:  int cv::AKAZE::getNOctaves()
245    //
246
247    public int getNOctaves() {
248        return getNOctaves_0(nativeObj);
249    }
250
251
252    //
253    // C++:  void cv::AKAZE::setNOctaveLayers(int octaveLayers)
254    //
255
256    public void setNOctaveLayers(int octaveLayers) {
257        setNOctaveLayers_0(nativeObj, octaveLayers);
258    }
259
260
261    //
262    // C++:  int cv::AKAZE::getNOctaveLayers()
263    //
264
265    public int getNOctaveLayers() {
266        return getNOctaveLayers_0(nativeObj);
267    }
268
269
270    //
271    // C++:  void cv::AKAZE::setDiffusivity(KAZE_DiffusivityType diff)
272    //
273
274    public void setDiffusivity(int diff) {
275        setDiffusivity_0(nativeObj, diff);
276    }
277
278
279    //
280    // C++:  KAZE_DiffusivityType cv::AKAZE::getDiffusivity()
281    //
282
283    public int getDiffusivity() {
284        return getDiffusivity_0(nativeObj);
285    }
286
287
288    //
289    // C++:  String cv::AKAZE::getDefaultName()
290    //
291
292    public String getDefaultName() {
293        return getDefaultName_0(nativeObj);
294    }
295
296
297    @Override
298    protected void finalize() throws Throwable {
299        delete(nativeObj);
300    }
301
302
303
304    // C++: static Ptr_AKAZE cv::AKAZE::create(AKAZE_DescriptorType descriptor_type = AKAZE::DESCRIPTOR_MLDB, int descriptor_size = 0, int descriptor_channels = 3, float threshold = 0.001f, int nOctaves = 4, int nOctaveLayers = 4, KAZE_DiffusivityType diffusivity = KAZE::DIFF_PM_G2)
305    private static native long create_0(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold, int nOctaves, int nOctaveLayers, int diffusivity);
306    private static native long create_1(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold, int nOctaves, int nOctaveLayers);
307    private static native long create_2(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold, int nOctaves);
308    private static native long create_3(int descriptor_type, int descriptor_size, int descriptor_channels, float threshold);
309    private static native long create_4(int descriptor_type, int descriptor_size, int descriptor_channels);
310    private static native long create_5(int descriptor_type, int descriptor_size);
311    private static native long create_6(int descriptor_type);
312    private static native long create_7();
313
314    // C++:  void cv::AKAZE::setDescriptorType(AKAZE_DescriptorType dtype)
315    private static native void setDescriptorType_0(long nativeObj, int dtype);
316
317    // C++:  AKAZE_DescriptorType cv::AKAZE::getDescriptorType()
318    private static native int getDescriptorType_0(long nativeObj);
319
320    // C++:  void cv::AKAZE::setDescriptorSize(int dsize)
321    private static native void setDescriptorSize_0(long nativeObj, int dsize);
322
323    // C++:  int cv::AKAZE::getDescriptorSize()
324    private static native int getDescriptorSize_0(long nativeObj);
325
326    // C++:  void cv::AKAZE::setDescriptorChannels(int dch)
327    private static native void setDescriptorChannels_0(long nativeObj, int dch);
328
329    // C++:  int cv::AKAZE::getDescriptorChannels()
330    private static native int getDescriptorChannels_0(long nativeObj);
331
332    // C++:  void cv::AKAZE::setThreshold(double threshold)
333    private static native void setThreshold_0(long nativeObj, double threshold);
334
335    // C++:  double cv::AKAZE::getThreshold()
336    private static native double getThreshold_0(long nativeObj);
337
338    // C++:  void cv::AKAZE::setNOctaves(int octaves)
339    private static native void setNOctaves_0(long nativeObj, int octaves);
340
341    // C++:  int cv::AKAZE::getNOctaves()
342    private static native int getNOctaves_0(long nativeObj);
343
344    // C++:  void cv::AKAZE::setNOctaveLayers(int octaveLayers)
345    private static native void setNOctaveLayers_0(long nativeObj, int octaveLayers);
346
347    // C++:  int cv::AKAZE::getNOctaveLayers()
348    private static native int getNOctaveLayers_0(long nativeObj);
349
350    // C++:  void cv::AKAZE::setDiffusivity(KAZE_DiffusivityType diff)
351    private static native void setDiffusivity_0(long nativeObj, int diff);
352
353    // C++:  KAZE_DiffusivityType cv::AKAZE::getDiffusivity()
354    private static native int getDiffusivity_0(long nativeObj);
355
356    // C++:  String cv::AKAZE::getDefaultName()
357    private static native String getDefaultName_0(long nativeObj);
358
359    // native support for java finalize()
360    private static native void delete(long nativeObj);
361
362}