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.MatOfKeyPoint;
013import org.opencv.utils.Converters;
014
015// C++: class Feature2D
016//javadoc: Feature2D
017public class Feature2D extends Algorithm {
018
019    protected Feature2D(long addr) { super(addr); }
020
021
022    //
023    // C++:  bool empty()
024    //
025
026    //javadoc: Feature2D::empty()
027    public  boolean empty()
028    {
029        
030        boolean retVal = empty_0(nativeObj);
031        
032        return retVal;
033    }
034
035
036    //
037    // C++:  int defaultNorm()
038    //
039
040    //javadoc: Feature2D::defaultNorm()
041    public  int defaultNorm()
042    {
043        
044        int retVal = defaultNorm_0(nativeObj);
045        
046        return retVal;
047    }
048
049
050    //
051    // C++:  int descriptorSize()
052    //
053
054    //javadoc: Feature2D::descriptorSize()
055    public  int descriptorSize()
056    {
057        
058        int retVal = descriptorSize_0(nativeObj);
059        
060        return retVal;
061    }
062
063
064    //
065    // C++:  int descriptorType()
066    //
067
068    //javadoc: Feature2D::descriptorType()
069    public  int descriptorType()
070    {
071        
072        int retVal = descriptorType_0(nativeObj);
073        
074        return retVal;
075    }
076
077
078    //
079    // C++:  void compute(Mat image, vector_KeyPoint& keypoints, Mat& descriptors)
080    //
081
082    //javadoc: Feature2D::compute(image, keypoints, descriptors)
083    public  void compute(Mat image, MatOfKeyPoint keypoints, Mat descriptors)
084    {
085        Mat keypoints_mat = keypoints;
086        compute_0(nativeObj, image.nativeObj, keypoints_mat.nativeObj, descriptors.nativeObj);
087        
088        return;
089    }
090
091
092    //
093    // C++:  void compute(vector_Mat images, vector_vector_KeyPoint& keypoints, vector_Mat& descriptors)
094    //
095
096    //javadoc: Feature2D::compute(images, keypoints, descriptors)
097    public  void compute(List<Mat> images, List<MatOfKeyPoint> keypoints, List<Mat> descriptors)
098    {
099        Mat images_mat = Converters.vector_Mat_to_Mat(images);
100        List<Mat> keypoints_tmplm = new ArrayList<Mat>((keypoints != null) ? keypoints.size() : 0);
101        Mat keypoints_mat = Converters.vector_vector_KeyPoint_to_Mat(keypoints, keypoints_tmplm);
102        Mat descriptors_mat = new Mat();
103        compute_1(nativeObj, images_mat.nativeObj, keypoints_mat.nativeObj, descriptors_mat.nativeObj);
104        Converters.Mat_to_vector_vector_KeyPoint(keypoints_mat, keypoints);
105        keypoints_mat.release();
106        Converters.Mat_to_vector_Mat(descriptors_mat, descriptors);
107        descriptors_mat.release();
108        return;
109    }
110
111
112    //
113    // C++:  void detect(Mat image, vector_KeyPoint& keypoints, Mat mask = Mat())
114    //
115
116    //javadoc: Feature2D::detect(image, keypoints, mask)
117    public  void detect(Mat image, MatOfKeyPoint keypoints, Mat mask)
118    {
119        Mat keypoints_mat = keypoints;
120        detect_0(nativeObj, image.nativeObj, keypoints_mat.nativeObj, mask.nativeObj);
121        
122        return;
123    }
124
125    //javadoc: Feature2D::detect(image, keypoints)
126    public  void detect(Mat image, MatOfKeyPoint keypoints)
127    {
128        Mat keypoints_mat = keypoints;
129        detect_1(nativeObj, image.nativeObj, keypoints_mat.nativeObj);
130        
131        return;
132    }
133
134
135    //
136    // C++:  void detect(vector_Mat images, vector_vector_KeyPoint& keypoints, vector_Mat masks = vector_Mat())
137    //
138
139    //javadoc: Feature2D::detect(images, keypoints, masks)
140    public  void detect(List<Mat> images, List<MatOfKeyPoint> keypoints, List<Mat> masks)
141    {
142        Mat images_mat = Converters.vector_Mat_to_Mat(images);
143        Mat keypoints_mat = new Mat();
144        Mat masks_mat = Converters.vector_Mat_to_Mat(masks);
145        detect_2(nativeObj, images_mat.nativeObj, keypoints_mat.nativeObj, masks_mat.nativeObj);
146        Converters.Mat_to_vector_vector_KeyPoint(keypoints_mat, keypoints);
147        keypoints_mat.release();
148        return;
149    }
150
151    //javadoc: Feature2D::detect(images, keypoints)
152    public  void detect(List<Mat> images, List<MatOfKeyPoint> keypoints)
153    {
154        Mat images_mat = Converters.vector_Mat_to_Mat(images);
155        Mat keypoints_mat = new Mat();
156        detect_3(nativeObj, images_mat.nativeObj, keypoints_mat.nativeObj);
157        Converters.Mat_to_vector_vector_KeyPoint(keypoints_mat, keypoints);
158        keypoints_mat.release();
159        return;
160    }
161
162
163    //
164    // C++:  void detectAndCompute(Mat image, Mat mask, vector_KeyPoint& keypoints, Mat& descriptors, bool useProvidedKeypoints = false)
165    //
166
167    //javadoc: Feature2D::detectAndCompute(image, mask, keypoints, descriptors, useProvidedKeypoints)
168    public  void detectAndCompute(Mat image, Mat mask, MatOfKeyPoint keypoints, Mat descriptors, boolean useProvidedKeypoints)
169    {
170        Mat keypoints_mat = keypoints;
171        detectAndCompute_0(nativeObj, image.nativeObj, mask.nativeObj, keypoints_mat.nativeObj, descriptors.nativeObj, useProvidedKeypoints);
172        
173        return;
174    }
175
176    //javadoc: Feature2D::detectAndCompute(image, mask, keypoints, descriptors)
177    public  void detectAndCompute(Mat image, Mat mask, MatOfKeyPoint keypoints, Mat descriptors)
178    {
179        Mat keypoints_mat = keypoints;
180        detectAndCompute_1(nativeObj, image.nativeObj, mask.nativeObj, keypoints_mat.nativeObj, descriptors.nativeObj);
181        
182        return;
183    }
184
185
186    //
187    // C++:  void read(String fileName)
188    //
189
190    //javadoc: Feature2D::read(fileName)
191    public  void read(String fileName)
192    {
193        
194        read_0(nativeObj, fileName);
195        
196        return;
197    }
198
199
200    //
201    // C++:  void write(String fileName)
202    //
203
204    //javadoc: Feature2D::write(fileName)
205    public  void write(String fileName)
206    {
207        
208        write_0(nativeObj, fileName);
209        
210        return;
211    }
212
213
214    @Override
215    protected void finalize() throws Throwable {
216        delete(nativeObj);
217    }
218
219
220
221    // C++:  bool empty()
222    private static native boolean empty_0(long nativeObj);
223
224    // C++:  int defaultNorm()
225    private static native int defaultNorm_0(long nativeObj);
226
227    // C++:  int descriptorSize()
228    private static native int descriptorSize_0(long nativeObj);
229
230    // C++:  int descriptorType()
231    private static native int descriptorType_0(long nativeObj);
232
233    // C++:  void compute(Mat image, vector_KeyPoint& keypoints, Mat& descriptors)
234    private static native void compute_0(long nativeObj, long image_nativeObj, long keypoints_mat_nativeObj, long descriptors_nativeObj);
235
236    // C++:  void compute(vector_Mat images, vector_vector_KeyPoint& keypoints, vector_Mat& descriptors)
237    private static native void compute_1(long nativeObj, long images_mat_nativeObj, long keypoints_mat_nativeObj, long descriptors_mat_nativeObj);
238
239    // C++:  void detect(Mat image, vector_KeyPoint& keypoints, Mat mask = Mat())
240    private static native void detect_0(long nativeObj, long image_nativeObj, long keypoints_mat_nativeObj, long mask_nativeObj);
241    private static native void detect_1(long nativeObj, long image_nativeObj, long keypoints_mat_nativeObj);
242
243    // C++:  void detect(vector_Mat images, vector_vector_KeyPoint& keypoints, vector_Mat masks = vector_Mat())
244    private static native void detect_2(long nativeObj, long images_mat_nativeObj, long keypoints_mat_nativeObj, long masks_mat_nativeObj);
245    private static native void detect_3(long nativeObj, long images_mat_nativeObj, long keypoints_mat_nativeObj);
246
247    // C++:  void detectAndCompute(Mat image, Mat mask, vector_KeyPoint& keypoints, Mat& descriptors, bool useProvidedKeypoints = false)
248    private static native void detectAndCompute_0(long nativeObj, long image_nativeObj, long mask_nativeObj, long keypoints_mat_nativeObj, long descriptors_nativeObj, boolean useProvidedKeypoints);
249    private static native void detectAndCompute_1(long nativeObj, long image_nativeObj, long mask_nativeObj, long keypoints_mat_nativeObj, long descriptors_nativeObj);
250
251    // C++:  void read(String fileName)
252    private static native void read_0(long nativeObj, String fileName);
253
254    // C++:  void write(String fileName)
255    private static native void write_0(long nativeObj, String fileName);
256
257    // native support for java finalize()
258    private static native void delete(long nativeObj);
259
260}