001//
002// This file is auto-generated. Please don't modify it!
003//
004package org.opencv.features2d;
005
006import java.util.ArrayList;
007import java.util.List;
008import org.opencv.core.Mat;
009import org.opencv.core.MatOfFloat;
010import org.opencv.core.MatOfInt;
011import org.opencv.features2d.BRISK;
012import org.opencv.features2d.Feature2D;
013import org.opencv.utils.Converters;
014
015// C++: class BRISK
016/**
017 * Class implementing the BRISK keypoint detector and descriptor extractor, described in CITE: LCS11 .
018 */
019public class BRISK extends Feature2D {
020
021    protected BRISK(long addr) { super(addr); }
022
023    // internal usage only
024    public static BRISK __fromPtr__(long addr) { return new BRISK(addr); }
025
026    //
027    // C++: static Ptr_BRISK cv::BRISK::create(int thresh = 30, int octaves = 3, float patternScale = 1.0f)
028    //
029
030    /**
031     * The BRISK constructor
032     *
033     *     @param thresh AGAST detection threshold score.
034     *     @param octaves detection octaves. Use 0 to do single scale.
035     *     @param patternScale apply this scale to the pattern used for sampling the neighbourhood of a
036     *     keypoint.
037     * @return automatically generated
038     */
039    public static BRISK create(int thresh, int octaves, float patternScale) {
040        return BRISK.__fromPtr__(create_0(thresh, octaves, patternScale));
041    }
042
043    /**
044     * The BRISK constructor
045     *
046     *     @param thresh AGAST detection threshold score.
047     *     @param octaves detection octaves. Use 0 to do single scale.
048     *     keypoint.
049     * @return automatically generated
050     */
051    public static BRISK create(int thresh, int octaves) {
052        return BRISK.__fromPtr__(create_1(thresh, octaves));
053    }
054
055    /**
056     * The BRISK constructor
057     *
058     *     @param thresh AGAST detection threshold score.
059     *     keypoint.
060     * @return automatically generated
061     */
062    public static BRISK create(int thresh) {
063        return BRISK.__fromPtr__(create_2(thresh));
064    }
065
066    /**
067     * The BRISK constructor
068     *
069     *     keypoint.
070     * @return automatically generated
071     */
072    public static BRISK create() {
073        return BRISK.__fromPtr__(create_3());
074    }
075
076
077    //
078    // C++: static Ptr_BRISK cv::BRISK::create(vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
079    //
080
081    /**
082     * The BRISK constructor for a custom pattern
083     *
084     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
085     *     keypoint scale 1).
086     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
087     *     size as radiusList..
088     *     @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
089     *     scale 1).
090     *     @param dMin threshold for the long pairings used for orientation determination (in pixels for
091     *     keypoint scale 1).
092     * @param indexChange index remapping of the bits.
093     * @return automatically generated
094     */
095    public static BRISK create(MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin, MatOfInt indexChange) {
096        Mat radiusList_mat = radiusList;
097        Mat numberList_mat = numberList;
098        Mat indexChange_mat = indexChange;
099        return BRISK.__fromPtr__(create_4(radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin, indexChange_mat.nativeObj));
100    }
101
102    /**
103     * The BRISK constructor for a custom pattern
104     *
105     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
106     *     keypoint scale 1).
107     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
108     *     size as radiusList..
109     *     @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
110     *     scale 1).
111     *     @param dMin threshold for the long pairings used for orientation determination (in pixels for
112     *     keypoint scale 1).
113     * @return automatically generated
114     */
115    public static BRISK create(MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin) {
116        Mat radiusList_mat = radiusList;
117        Mat numberList_mat = numberList;
118        return BRISK.__fromPtr__(create_5(radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin));
119    }
120
121    /**
122     * The BRISK constructor for a custom pattern
123     *
124     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
125     *     keypoint scale 1).
126     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
127     *     size as radiusList..
128     *     @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
129     *     scale 1).
130     *     keypoint scale 1).
131     * @return automatically generated
132     */
133    public static BRISK create(MatOfFloat radiusList, MatOfInt numberList, float dMax) {
134        Mat radiusList_mat = radiusList;
135        Mat numberList_mat = numberList;
136        return BRISK.__fromPtr__(create_6(radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax));
137    }
138
139    /**
140     * The BRISK constructor for a custom pattern
141     *
142     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
143     *     keypoint scale 1).
144     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
145     *     size as radiusList..
146     *     scale 1).
147     *     keypoint scale 1).
148     * @return automatically generated
149     */
150    public static BRISK create(MatOfFloat radiusList, MatOfInt numberList) {
151        Mat radiusList_mat = radiusList;
152        Mat numberList_mat = numberList;
153        return BRISK.__fromPtr__(create_7(radiusList_mat.nativeObj, numberList_mat.nativeObj));
154    }
155
156
157    //
158    // C++: static Ptr_BRISK cv::BRISK::create(int thresh, int octaves, vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
159    //
160
161    /**
162     * The BRISK constructor for a custom pattern, detection threshold and octaves
163     *
164     *     @param thresh AGAST detection threshold score.
165     *     @param octaves detection octaves. Use 0 to do single scale.
166     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
167     *     keypoint scale 1).
168     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
169     *     size as radiusList..
170     *     @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
171     *     scale 1).
172     *     @param dMin threshold for the long pairings used for orientation determination (in pixels for
173     *     keypoint scale 1).
174     * @param indexChange index remapping of the bits.
175     * @return automatically generated
176     */
177    public static BRISK create(int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin, MatOfInt indexChange) {
178        Mat radiusList_mat = radiusList;
179        Mat numberList_mat = numberList;
180        Mat indexChange_mat = indexChange;
181        return BRISK.__fromPtr__(create_8(thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin, indexChange_mat.nativeObj));
182    }
183
184    /**
185     * The BRISK constructor for a custom pattern, detection threshold and octaves
186     *
187     *     @param thresh AGAST detection threshold score.
188     *     @param octaves detection octaves. Use 0 to do single scale.
189     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
190     *     keypoint scale 1).
191     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
192     *     size as radiusList..
193     *     @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
194     *     scale 1).
195     *     @param dMin threshold for the long pairings used for orientation determination (in pixels for
196     *     keypoint scale 1).
197     * @return automatically generated
198     */
199    public static BRISK create(int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin) {
200        Mat radiusList_mat = radiusList;
201        Mat numberList_mat = numberList;
202        return BRISK.__fromPtr__(create_9(thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin));
203    }
204
205    /**
206     * The BRISK constructor for a custom pattern, detection threshold and octaves
207     *
208     *     @param thresh AGAST detection threshold score.
209     *     @param octaves detection octaves. Use 0 to do single scale.
210     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
211     *     keypoint scale 1).
212     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
213     *     size as radiusList..
214     *     @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint
215     *     scale 1).
216     *     keypoint scale 1).
217     * @return automatically generated
218     */
219    public static BRISK create(int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList, float dMax) {
220        Mat radiusList_mat = radiusList;
221        Mat numberList_mat = numberList;
222        return BRISK.__fromPtr__(create_10(thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax));
223    }
224
225    /**
226     * The BRISK constructor for a custom pattern, detection threshold and octaves
227     *
228     *     @param thresh AGAST detection threshold score.
229     *     @param octaves detection octaves. Use 0 to do single scale.
230     *     @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for
231     *     keypoint scale 1).
232     *     @param numberList defines the number of sampling points on the sampling circle. Must be the same
233     *     size as radiusList..
234     *     scale 1).
235     *     keypoint scale 1).
236     * @return automatically generated
237     */
238    public static BRISK create(int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList) {
239        Mat radiusList_mat = radiusList;
240        Mat numberList_mat = numberList;
241        return BRISK.__fromPtr__(create_11(thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj));
242    }
243
244
245    //
246    // C++:  String cv::BRISK::getDefaultName()
247    //
248
249    public String getDefaultName() {
250        return getDefaultName_0(nativeObj);
251    }
252
253
254    //
255    // C++:  void cv::BRISK::setThreshold(int threshold)
256    //
257
258    /**
259     * Set detection threshold.
260     *     @param threshold AGAST detection threshold score.
261     */
262    public void setThreshold(int threshold) {
263        setThreshold_0(nativeObj, threshold);
264    }
265
266
267    //
268    // C++:  int cv::BRISK::getThreshold()
269    //
270
271    public int getThreshold() {
272        return getThreshold_0(nativeObj);
273    }
274
275
276    //
277    // C++:  void cv::BRISK::setOctaves(int octaves)
278    //
279
280    /**
281     * Set detection octaves.
282     *     @param octaves detection octaves. Use 0 to do single scale.
283     */
284    public void setOctaves(int octaves) {
285        setOctaves_0(nativeObj, octaves);
286    }
287
288
289    //
290    // C++:  int cv::BRISK::getOctaves()
291    //
292
293    public int getOctaves() {
294        return getOctaves_0(nativeObj);
295    }
296
297
298    //
299    // C++:  void cv::BRISK::setPatternScale(float patternScale)
300    //
301
302    /**
303     * Set detection patternScale.
304     *     @param patternScale apply this scale to the pattern used for sampling the neighbourhood of a
305     *     keypoint.
306     */
307    public void setPatternScale(float patternScale) {
308        setPatternScale_0(nativeObj, patternScale);
309    }
310
311
312    //
313    // C++:  float cv::BRISK::getPatternScale()
314    //
315
316    public float getPatternScale() {
317        return getPatternScale_0(nativeObj);
318    }
319
320
321    @Override
322    protected void finalize() throws Throwable {
323        delete(nativeObj);
324    }
325
326
327
328    // C++: static Ptr_BRISK cv::BRISK::create(int thresh = 30, int octaves = 3, float patternScale = 1.0f)
329    private static native long create_0(int thresh, int octaves, float patternScale);
330    private static native long create_1(int thresh, int octaves);
331    private static native long create_2(int thresh);
332    private static native long create_3();
333
334    // C++: static Ptr_BRISK cv::BRISK::create(vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
335    private static native long create_4(long radiusList_mat_nativeObj, long numberList_mat_nativeObj, float dMax, float dMin, long indexChange_mat_nativeObj);
336    private static native long create_5(long radiusList_mat_nativeObj, long numberList_mat_nativeObj, float dMax, float dMin);
337    private static native long create_6(long radiusList_mat_nativeObj, long numberList_mat_nativeObj, float dMax);
338    private static native long create_7(long radiusList_mat_nativeObj, long numberList_mat_nativeObj);
339
340    // C++: static Ptr_BRISK cv::BRISK::create(int thresh, int octaves, vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
341    private static native long create_8(int thresh, int octaves, long radiusList_mat_nativeObj, long numberList_mat_nativeObj, float dMax, float dMin, long indexChange_mat_nativeObj);
342    private static native long create_9(int thresh, int octaves, long radiusList_mat_nativeObj, long numberList_mat_nativeObj, float dMax, float dMin);
343    private static native long create_10(int thresh, int octaves, long radiusList_mat_nativeObj, long numberList_mat_nativeObj, float dMax);
344    private static native long create_11(int thresh, int octaves, long radiusList_mat_nativeObj, long numberList_mat_nativeObj);
345
346    // C++:  String cv::BRISK::getDefaultName()
347    private static native String getDefaultName_0(long nativeObj);
348
349    // C++:  void cv::BRISK::setThreshold(int threshold)
350    private static native void setThreshold_0(long nativeObj, int threshold);
351
352    // C++:  int cv::BRISK::getThreshold()
353    private static native int getThreshold_0(long nativeObj);
354
355    // C++:  void cv::BRISK::setOctaves(int octaves)
356    private static native void setOctaves_0(long nativeObj, int octaves);
357
358    // C++:  int cv::BRISK::getOctaves()
359    private static native int getOctaves_0(long nativeObj);
360
361    // C++:  void cv::BRISK::setPatternScale(float patternScale)
362    private static native void setPatternScale_0(long nativeObj, float patternScale);
363
364    // C++:  float cv::BRISK::getPatternScale()
365    private static native float getPatternScale_0(long nativeObj);
366
367    // native support for java finalize()
368    private static native void delete(long nativeObj);
369
370}