001
002//
003// This file is auto-generated. Please don't modify it!
004//
005package org.opencv.features2d;
006
007import java.lang.String;
008import java.util.ArrayList;
009import java.util.List;
010import org.opencv.core.Algorithm;
011import org.opencv.core.Mat;
012import org.opencv.core.MatOfDMatch;
013import org.opencv.utils.Converters;
014
015// C++: class DescriptorMatcher
016//javadoc: DescriptorMatcher
017public class DescriptorMatcher extends Algorithm {
018
019    protected DescriptorMatcher(long addr) { super(addr); }
020
021
022    public static final int
023            FLANNBASED = 1,
024            BRUTEFORCE = 2,
025            BRUTEFORCE_L1 = 3,
026            BRUTEFORCE_HAMMING = 4,
027            BRUTEFORCE_HAMMINGLUT = 5,
028            BRUTEFORCE_SL2 = 6;
029
030
031    //
032    // C++:  Ptr_DescriptorMatcher clone(bool emptyTrainData = false)
033    //
034
035    //javadoc: DescriptorMatcher::clone(emptyTrainData)
036    public  DescriptorMatcher clone(boolean emptyTrainData)
037    {
038        
039        DescriptorMatcher retVal = new DescriptorMatcher(clone_0(nativeObj, emptyTrainData));
040        
041        return retVal;
042    }
043
044    //javadoc: DescriptorMatcher::clone()
045    public  DescriptorMatcher clone()
046    {
047        
048        DescriptorMatcher retVal = new DescriptorMatcher(clone_1(nativeObj));
049        
050        return retVal;
051    }
052
053
054    //
055    // C++: static Ptr_DescriptorMatcher create(String descriptorMatcherType)
056    //
057
058    //javadoc: DescriptorMatcher::create(descriptorMatcherType)
059    public static DescriptorMatcher create(String descriptorMatcherType)
060    {
061        
062        DescriptorMatcher retVal = new DescriptorMatcher(create_0(descriptorMatcherType));
063        
064        return retVal;
065    }
066
067
068    //
069    // C++: static Ptr_DescriptorMatcher create(int matcherType)
070    //
071
072    //javadoc: DescriptorMatcher::create(matcherType)
073    public static DescriptorMatcher create(int matcherType)
074    {
075        
076        DescriptorMatcher retVal = new DescriptorMatcher(create_1(matcherType));
077        
078        return retVal;
079    }
080
081
082    //
083    // C++:  bool empty()
084    //
085
086    //javadoc: DescriptorMatcher::empty()
087    public  boolean empty()
088    {
089        
090        boolean retVal = empty_0(nativeObj);
091        
092        return retVal;
093    }
094
095
096    //
097    // C++:  bool isMaskSupported()
098    //
099
100    //javadoc: DescriptorMatcher::isMaskSupported()
101    public  boolean isMaskSupported()
102    {
103        
104        boolean retVal = isMaskSupported_0(nativeObj);
105        
106        return retVal;
107    }
108
109
110    //
111    // C++:  vector_Mat getTrainDescriptors()
112    //
113
114    //javadoc: DescriptorMatcher::getTrainDescriptors()
115    public  List<Mat> getTrainDescriptors()
116    {
117        List<Mat> retVal = new ArrayList<Mat>();
118        Mat retValMat = new Mat(getTrainDescriptors_0(nativeObj));
119        Converters.Mat_to_vector_Mat(retValMat, retVal);
120        return retVal;
121    }
122
123
124    //
125    // C++:  void add(vector_Mat descriptors)
126    //
127
128    //javadoc: DescriptorMatcher::add(descriptors)
129    public  void add(List<Mat> descriptors)
130    {
131        Mat descriptors_mat = Converters.vector_Mat_to_Mat(descriptors);
132        add_0(nativeObj, descriptors_mat.nativeObj);
133        
134        return;
135    }
136
137
138    //
139    // C++:  void clear()
140    //
141
142    //javadoc: DescriptorMatcher::clear()
143    public  void clear()
144    {
145        
146        clear_0(nativeObj);
147        
148        return;
149    }
150
151
152    //
153    // C++:  void knnMatch(Mat queryDescriptors, Mat trainDescriptors, vector_vector_DMatch& matches, int k, Mat mask = Mat(), bool compactResult = false)
154    //
155
156    //javadoc: DescriptorMatcher::knnMatch(queryDescriptors, trainDescriptors, matches, k, mask, compactResult)
157    public  void knnMatch(Mat queryDescriptors, Mat trainDescriptors, List<MatOfDMatch> matches, int k, Mat mask, boolean compactResult)
158    {
159        Mat matches_mat = new Mat();
160        knnMatch_0(nativeObj, queryDescriptors.nativeObj, trainDescriptors.nativeObj, matches_mat.nativeObj, k, mask.nativeObj, compactResult);
161        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
162        matches_mat.release();
163        return;
164    }
165
166    //javadoc: DescriptorMatcher::knnMatch(queryDescriptors, trainDescriptors, matches, k)
167    public  void knnMatch(Mat queryDescriptors, Mat trainDescriptors, List<MatOfDMatch> matches, int k)
168    {
169        Mat matches_mat = new Mat();
170        knnMatch_1(nativeObj, queryDescriptors.nativeObj, trainDescriptors.nativeObj, matches_mat.nativeObj, k);
171        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
172        matches_mat.release();
173        return;
174    }
175
176
177    //
178    // C++:  void knnMatch(Mat queryDescriptors, vector_vector_DMatch& matches, int k, vector_Mat masks = vector_Mat(), bool compactResult = false)
179    //
180
181    //javadoc: DescriptorMatcher::knnMatch(queryDescriptors, matches, k, masks, compactResult)
182    public  void knnMatch(Mat queryDescriptors, List<MatOfDMatch> matches, int k, List<Mat> masks, boolean compactResult)
183    {
184        Mat matches_mat = new Mat();
185        Mat masks_mat = Converters.vector_Mat_to_Mat(masks);
186        knnMatch_2(nativeObj, queryDescriptors.nativeObj, matches_mat.nativeObj, k, masks_mat.nativeObj, compactResult);
187        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
188        matches_mat.release();
189        return;
190    }
191
192    //javadoc: DescriptorMatcher::knnMatch(queryDescriptors, matches, k)
193    public  void knnMatch(Mat queryDescriptors, List<MatOfDMatch> matches, int k)
194    {
195        Mat matches_mat = new Mat();
196        knnMatch_3(nativeObj, queryDescriptors.nativeObj, matches_mat.nativeObj, k);
197        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
198        matches_mat.release();
199        return;
200    }
201
202
203    //
204    // C++:  void match(Mat queryDescriptors, Mat trainDescriptors, vector_DMatch& matches, Mat mask = Mat())
205    //
206
207    //javadoc: DescriptorMatcher::match(queryDescriptors, trainDescriptors, matches, mask)
208    public  void match(Mat queryDescriptors, Mat trainDescriptors, MatOfDMatch matches, Mat mask)
209    {
210        Mat matches_mat = matches;
211        match_0(nativeObj, queryDescriptors.nativeObj, trainDescriptors.nativeObj, matches_mat.nativeObj, mask.nativeObj);
212        
213        return;
214    }
215
216    //javadoc: DescriptorMatcher::match(queryDescriptors, trainDescriptors, matches)
217    public  void match(Mat queryDescriptors, Mat trainDescriptors, MatOfDMatch matches)
218    {
219        Mat matches_mat = matches;
220        match_1(nativeObj, queryDescriptors.nativeObj, trainDescriptors.nativeObj, matches_mat.nativeObj);
221        
222        return;
223    }
224
225
226    //
227    // C++:  void match(Mat queryDescriptors, vector_DMatch& matches, vector_Mat masks = vector_Mat())
228    //
229
230    //javadoc: DescriptorMatcher::match(queryDescriptors, matches, masks)
231    public  void match(Mat queryDescriptors, MatOfDMatch matches, List<Mat> masks)
232    {
233        Mat matches_mat = matches;
234        Mat masks_mat = Converters.vector_Mat_to_Mat(masks);
235        match_2(nativeObj, queryDescriptors.nativeObj, matches_mat.nativeObj, masks_mat.nativeObj);
236        
237        return;
238    }
239
240    //javadoc: DescriptorMatcher::match(queryDescriptors, matches)
241    public  void match(Mat queryDescriptors, MatOfDMatch matches)
242    {
243        Mat matches_mat = matches;
244        match_3(nativeObj, queryDescriptors.nativeObj, matches_mat.nativeObj);
245        
246        return;
247    }
248
249
250    //
251    // C++:  void radiusMatch(Mat queryDescriptors, Mat trainDescriptors, vector_vector_DMatch& matches, float maxDistance, Mat mask = Mat(), bool compactResult = false)
252    //
253
254    //javadoc: DescriptorMatcher::radiusMatch(queryDescriptors, trainDescriptors, matches, maxDistance, mask, compactResult)
255    public  void radiusMatch(Mat queryDescriptors, Mat trainDescriptors, List<MatOfDMatch> matches, float maxDistance, Mat mask, boolean compactResult)
256    {
257        Mat matches_mat = new Mat();
258        radiusMatch_0(nativeObj, queryDescriptors.nativeObj, trainDescriptors.nativeObj, matches_mat.nativeObj, maxDistance, mask.nativeObj, compactResult);
259        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
260        matches_mat.release();
261        return;
262    }
263
264    //javadoc: DescriptorMatcher::radiusMatch(queryDescriptors, trainDescriptors, matches, maxDistance)
265    public  void radiusMatch(Mat queryDescriptors, Mat trainDescriptors, List<MatOfDMatch> matches, float maxDistance)
266    {
267        Mat matches_mat = new Mat();
268        radiusMatch_1(nativeObj, queryDescriptors.nativeObj, trainDescriptors.nativeObj, matches_mat.nativeObj, maxDistance);
269        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
270        matches_mat.release();
271        return;
272    }
273
274
275    //
276    // C++:  void radiusMatch(Mat queryDescriptors, vector_vector_DMatch& matches, float maxDistance, vector_Mat masks = vector_Mat(), bool compactResult = false)
277    //
278
279    //javadoc: DescriptorMatcher::radiusMatch(queryDescriptors, matches, maxDistance, masks, compactResult)
280    public  void radiusMatch(Mat queryDescriptors, List<MatOfDMatch> matches, float maxDistance, List<Mat> masks, boolean compactResult)
281    {
282        Mat matches_mat = new Mat();
283        Mat masks_mat = Converters.vector_Mat_to_Mat(masks);
284        radiusMatch_2(nativeObj, queryDescriptors.nativeObj, matches_mat.nativeObj, maxDistance, masks_mat.nativeObj, compactResult);
285        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
286        matches_mat.release();
287        return;
288    }
289
290    //javadoc: DescriptorMatcher::radiusMatch(queryDescriptors, matches, maxDistance)
291    public  void radiusMatch(Mat queryDescriptors, List<MatOfDMatch> matches, float maxDistance)
292    {
293        Mat matches_mat = new Mat();
294        radiusMatch_3(nativeObj, queryDescriptors.nativeObj, matches_mat.nativeObj, maxDistance);
295        Converters.Mat_to_vector_vector_DMatch(matches_mat, matches);
296        matches_mat.release();
297        return;
298    }
299
300
301    //
302    // C++:  void read(String fileName)
303    //
304
305    //javadoc: DescriptorMatcher::read(fileName)
306    public  void read(String fileName)
307    {
308        
309        read_0(nativeObj, fileName);
310        
311        return;
312    }
313
314
315    //
316    // C++:  void train()
317    //
318
319    //javadoc: DescriptorMatcher::train()
320    public  void train()
321    {
322        
323        train_0(nativeObj);
324        
325        return;
326    }
327
328
329    //
330    // C++:  void write(String fileName)
331    //
332
333    //javadoc: DescriptorMatcher::write(fileName)
334    public  void write(String fileName)
335    {
336        
337        write_0(nativeObj, fileName);
338        
339        return;
340    }
341
342
343    @Override
344    protected void finalize() throws Throwable {
345        delete(nativeObj);
346    }
347
348
349
350    // C++:  Ptr_DescriptorMatcher clone(bool emptyTrainData = false)
351    private static native long clone_0(long nativeObj, boolean emptyTrainData);
352    private static native long clone_1(long nativeObj);
353
354    // C++: static Ptr_DescriptorMatcher create(String descriptorMatcherType)
355    private static native long create_0(String descriptorMatcherType);
356
357    // C++: static Ptr_DescriptorMatcher create(int matcherType)
358    private static native long create_1(int matcherType);
359
360    // C++:  bool empty()
361    private static native boolean empty_0(long nativeObj);
362
363    // C++:  bool isMaskSupported()
364    private static native boolean isMaskSupported_0(long nativeObj);
365
366    // C++:  vector_Mat getTrainDescriptors()
367    private static native long getTrainDescriptors_0(long nativeObj);
368
369    // C++:  void add(vector_Mat descriptors)
370    private static native void add_0(long nativeObj, long descriptors_mat_nativeObj);
371
372    // C++:  void clear()
373    private static native void clear_0(long nativeObj);
374
375    // C++:  void knnMatch(Mat queryDescriptors, Mat trainDescriptors, vector_vector_DMatch& matches, int k, Mat mask = Mat(), bool compactResult = false)
376    private static native void knnMatch_0(long nativeObj, long queryDescriptors_nativeObj, long trainDescriptors_nativeObj, long matches_mat_nativeObj, int k, long mask_nativeObj, boolean compactResult);
377    private static native void knnMatch_1(long nativeObj, long queryDescriptors_nativeObj, long trainDescriptors_nativeObj, long matches_mat_nativeObj, int k);
378
379    // C++:  void knnMatch(Mat queryDescriptors, vector_vector_DMatch& matches, int k, vector_Mat masks = vector_Mat(), bool compactResult = false)
380    private static native void knnMatch_2(long nativeObj, long queryDescriptors_nativeObj, long matches_mat_nativeObj, int k, long masks_mat_nativeObj, boolean compactResult);
381    private static native void knnMatch_3(long nativeObj, long queryDescriptors_nativeObj, long matches_mat_nativeObj, int k);
382
383    // C++:  void match(Mat queryDescriptors, Mat trainDescriptors, vector_DMatch& matches, Mat mask = Mat())
384    private static native void match_0(long nativeObj, long queryDescriptors_nativeObj, long trainDescriptors_nativeObj, long matches_mat_nativeObj, long mask_nativeObj);
385    private static native void match_1(long nativeObj, long queryDescriptors_nativeObj, long trainDescriptors_nativeObj, long matches_mat_nativeObj);
386
387    // C++:  void match(Mat queryDescriptors, vector_DMatch& matches, vector_Mat masks = vector_Mat())
388    private static native void match_2(long nativeObj, long queryDescriptors_nativeObj, long matches_mat_nativeObj, long masks_mat_nativeObj);
389    private static native void match_3(long nativeObj, long queryDescriptors_nativeObj, long matches_mat_nativeObj);
390
391    // C++:  void radiusMatch(Mat queryDescriptors, Mat trainDescriptors, vector_vector_DMatch& matches, float maxDistance, Mat mask = Mat(), bool compactResult = false)
392    private static native void radiusMatch_0(long nativeObj, long queryDescriptors_nativeObj, long trainDescriptors_nativeObj, long matches_mat_nativeObj, float maxDistance, long mask_nativeObj, boolean compactResult);
393    private static native void radiusMatch_1(long nativeObj, long queryDescriptors_nativeObj, long trainDescriptors_nativeObj, long matches_mat_nativeObj, float maxDistance);
394
395    // C++:  void radiusMatch(Mat queryDescriptors, vector_vector_DMatch& matches, float maxDistance, vector_Mat masks = vector_Mat(), bool compactResult = false)
396    private static native void radiusMatch_2(long nativeObj, long queryDescriptors_nativeObj, long matches_mat_nativeObj, float maxDistance, long masks_mat_nativeObj, boolean compactResult);
397    private static native void radiusMatch_3(long nativeObj, long queryDescriptors_nativeObj, long matches_mat_nativeObj, float maxDistance);
398
399    // C++:  void read(String fileName)
400    private static native void read_0(long nativeObj, String fileName);
401
402    // C++:  void train()
403    private static native void train_0(long nativeObj);
404
405    // C++:  void write(String fileName)
406    private static native void write_0(long nativeObj, String fileName);
407
408    // native support for java finalize()
409    private static native void delete(long nativeObj);
410
411}