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