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.MatOfKeyPoint;
012import org.opencv.utils.Converters;
013
014// C++: class javaFeatureDetector
015//javadoc: javaFeatureDetector
016public class FeatureDetector {
017
018    protected final long nativeObj;
019    protected FeatureDetector(long addr) { nativeObj = addr; }
020
021
022    private static final int
023            GRIDDETECTOR = 1000,
024            PYRAMIDDETECTOR = 2000,
025            DYNAMICDETECTOR = 3000;
026
027
028    public static final int
029            FAST = 1,
030            STAR = 2,
031            SIFT = 3,
032            SURF = 4,
033            ORB = 5,
034            MSER = 6,
035            GFTT = 7,
036            HARRIS = 8,
037            SIMPLEBLOB = 9,
038            DENSE = 10,
039            BRISK = 11,
040            AKAZE = 12,
041            GRID_FAST = GRIDDETECTOR + FAST,
042            GRID_STAR = GRIDDETECTOR + STAR,
043            GRID_SIFT = GRIDDETECTOR + SIFT,
044            GRID_SURF = GRIDDETECTOR + SURF,
045            GRID_ORB = GRIDDETECTOR + ORB,
046            GRID_MSER = GRIDDETECTOR + MSER,
047            GRID_GFTT = GRIDDETECTOR + GFTT,
048            GRID_HARRIS = GRIDDETECTOR + HARRIS,
049            GRID_SIMPLEBLOB = GRIDDETECTOR + SIMPLEBLOB,
050            GRID_DENSE = GRIDDETECTOR + DENSE,
051            GRID_BRISK = GRIDDETECTOR + BRISK,
052            GRID_AKAZE = GRIDDETECTOR + AKAZE,
053            PYRAMID_FAST = PYRAMIDDETECTOR + FAST,
054            PYRAMID_STAR = PYRAMIDDETECTOR + STAR,
055            PYRAMID_SIFT = PYRAMIDDETECTOR + SIFT,
056            PYRAMID_SURF = PYRAMIDDETECTOR + SURF,
057            PYRAMID_ORB = PYRAMIDDETECTOR + ORB,
058            PYRAMID_MSER = PYRAMIDDETECTOR + MSER,
059            PYRAMID_GFTT = PYRAMIDDETECTOR + GFTT,
060            PYRAMID_HARRIS = PYRAMIDDETECTOR + HARRIS,
061            PYRAMID_SIMPLEBLOB = PYRAMIDDETECTOR + SIMPLEBLOB,
062            PYRAMID_DENSE = PYRAMIDDETECTOR + DENSE,
063            PYRAMID_BRISK = PYRAMIDDETECTOR + BRISK,
064            PYRAMID_AKAZE = PYRAMIDDETECTOR + AKAZE,
065            DYNAMIC_FAST = DYNAMICDETECTOR + FAST,
066            DYNAMIC_STAR = DYNAMICDETECTOR + STAR,
067            DYNAMIC_SIFT = DYNAMICDETECTOR + SIFT,
068            DYNAMIC_SURF = DYNAMICDETECTOR + SURF,
069            DYNAMIC_ORB = DYNAMICDETECTOR + ORB,
070            DYNAMIC_MSER = DYNAMICDETECTOR + MSER,
071            DYNAMIC_GFTT = DYNAMICDETECTOR + GFTT,
072            DYNAMIC_HARRIS = DYNAMICDETECTOR + HARRIS,
073            DYNAMIC_SIMPLEBLOB = DYNAMICDETECTOR + SIMPLEBLOB,
074            DYNAMIC_DENSE = DYNAMICDETECTOR + DENSE,
075            DYNAMIC_BRISK = DYNAMICDETECTOR + BRISK,
076            DYNAMIC_AKAZE = DYNAMICDETECTOR + AKAZE;
077
078
079    //
080    // C++:  bool empty()
081    //
082
083    //javadoc: javaFeatureDetector::empty()
084    public  boolean empty()
085    {
086        
087        boolean retVal = empty_0(nativeObj);
088        
089        return retVal;
090    }
091
092
093    //
094    // C++: static javaFeatureDetector* create(int detectorType)
095    //
096
097    //javadoc: javaFeatureDetector::create(detectorType)
098    public static FeatureDetector create(int detectorType)
099    {
100        
101        FeatureDetector retVal = new FeatureDetector(create_0(detectorType));
102        
103        return retVal;
104    }
105
106
107    //
108    // C++:  void detect(Mat image, vector_KeyPoint& keypoints, Mat mask = Mat())
109    //
110
111    //javadoc: javaFeatureDetector::detect(image, keypoints, mask)
112    public  void detect(Mat image, MatOfKeyPoint keypoints, Mat mask)
113    {
114        Mat keypoints_mat = keypoints;
115        detect_0(nativeObj, image.nativeObj, keypoints_mat.nativeObj, mask.nativeObj);
116        
117        return;
118    }
119
120    //javadoc: javaFeatureDetector::detect(image, keypoints)
121    public  void detect(Mat image, MatOfKeyPoint keypoints)
122    {
123        Mat keypoints_mat = keypoints;
124        detect_1(nativeObj, image.nativeObj, keypoints_mat.nativeObj);
125        
126        return;
127    }
128
129
130    //
131    // C++:  void detect(vector_Mat images, vector_vector_KeyPoint& keypoints, vector_Mat masks = std::vector<Mat>())
132    //
133
134    //javadoc: javaFeatureDetector::detect(images, keypoints, masks)
135    public  void detect(List<Mat> images, List<MatOfKeyPoint> keypoints, List<Mat> masks)
136    {
137        Mat images_mat = Converters.vector_Mat_to_Mat(images);
138        Mat keypoints_mat = new Mat();
139        Mat masks_mat = Converters.vector_Mat_to_Mat(masks);
140        detect_2(nativeObj, images_mat.nativeObj, keypoints_mat.nativeObj, masks_mat.nativeObj);
141        Converters.Mat_to_vector_vector_KeyPoint(keypoints_mat, keypoints);
142        keypoints_mat.release();
143        return;
144    }
145
146    //javadoc: javaFeatureDetector::detect(images, keypoints)
147    public  void detect(List<Mat> images, List<MatOfKeyPoint> keypoints)
148    {
149        Mat images_mat = Converters.vector_Mat_to_Mat(images);
150        Mat keypoints_mat = new Mat();
151        detect_3(nativeObj, images_mat.nativeObj, keypoints_mat.nativeObj);
152        Converters.Mat_to_vector_vector_KeyPoint(keypoints_mat, keypoints);
153        keypoints_mat.release();
154        return;
155    }
156
157
158    //
159    // C++:  void read(String fileName)
160    //
161
162    //javadoc: javaFeatureDetector::read(fileName)
163    public  void read(String fileName)
164    {
165        
166        read_0(nativeObj, fileName);
167        
168        return;
169    }
170
171
172    //
173    // C++:  void write(String fileName)
174    //
175
176    //javadoc: javaFeatureDetector::write(fileName)
177    public  void write(String fileName)
178    {
179        
180        write_0(nativeObj, fileName);
181        
182        return;
183    }
184
185
186    @Override
187    protected void finalize() throws Throwable {
188        delete(nativeObj);
189    }
190
191
192
193    // C++:  bool empty()
194    private static native boolean empty_0(long nativeObj);
195
196    // C++: static javaFeatureDetector* create(int detectorType)
197    private static native long create_0(int detectorType);
198
199    // C++:  void detect(Mat image, vector_KeyPoint& keypoints, Mat mask = Mat())
200    private static native void detect_0(long nativeObj, long image_nativeObj, long keypoints_mat_nativeObj, long mask_nativeObj);
201    private static native void detect_1(long nativeObj, long image_nativeObj, long keypoints_mat_nativeObj);
202
203    // C++:  void detect(vector_Mat images, vector_vector_KeyPoint& keypoints, vector_Mat masks = std::vector<Mat>())
204    private static native void detect_2(long nativeObj, long images_mat_nativeObj, long keypoints_mat_nativeObj, long masks_mat_nativeObj);
205    private static native void detect_3(long nativeObj, long images_mat_nativeObj, long keypoints_mat_nativeObj);
206
207    // C++:  void read(String fileName)
208    private static native void read_0(long nativeObj, String fileName);
209
210    // C++:  void write(String fileName)
211    private static native void write_0(long nativeObj, String fileName);
212
213    // native support for java finalize()
214    private static native void delete(long nativeObj);
215
216}