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}