001// 002// This file is auto-generated. Please don't modify it! 003// 004package org.opencv.features2d; 005 006import java.util.ArrayList; 007import java.util.List; 008import org.opencv.core.Mat; 009import org.opencv.core.MatOfByte; 010import org.opencv.core.MatOfDMatch; 011import org.opencv.core.MatOfKeyPoint; 012import org.opencv.core.Scalar; 013import org.opencv.utils.Converters; 014 015// C++: class Features2d 016 017public class Features2d { 018 019 // C++: enum DrawMatchesFlags (cv.DrawMatchesFlags) 020 public static final int 021 DrawMatchesFlags_DEFAULT = 0, 022 DrawMatchesFlags_DRAW_OVER_OUTIMG = 1, 023 DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS = 2, 024 DrawMatchesFlags_DRAW_RICH_KEYPOINTS = 4; 025 026 027 // 028 // C++: void cv::drawKeypoints(Mat image, vector_KeyPoint keypoints, Mat& outImage, Scalar color = Scalar::all(-1), DrawMatchesFlags flags = DrawMatchesFlags::DEFAULT) 029 // 030 031 /** 032 * Draws keypoints. 033 * 034 * @param image Source image. 035 * @param keypoints Keypoints from the source image. 036 * @param outImage Output image. Its content depends on the flags value defining what is drawn in the 037 * output image. See possible flags bit values below. 038 * @param color Color of keypoints. 039 * @param flags Flags setting drawing features. Possible flags bit values are defined by 040 * DrawMatchesFlags. See details above in drawMatches . 041 * 042 * <b>Note:</b> 043 * For Python API, flags are modified as cv.DRAW_MATCHES_FLAGS_DEFAULT, 044 * cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, cv.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG, 045 * cv.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS 046 */ 047 public static void drawKeypoints(Mat image, MatOfKeyPoint keypoints, Mat outImage, Scalar color, int flags) { 048 Mat keypoints_mat = keypoints; 049 drawKeypoints_0(image.nativeObj, keypoints_mat.nativeObj, outImage.nativeObj, color.val[0], color.val[1], color.val[2], color.val[3], flags); 050 } 051 052 /** 053 * Draws keypoints. 054 * 055 * @param image Source image. 056 * @param keypoints Keypoints from the source image. 057 * @param outImage Output image. Its content depends on the flags value defining what is drawn in the 058 * output image. See possible flags bit values below. 059 * @param color Color of keypoints. 060 * DrawMatchesFlags. See details above in drawMatches . 061 * 062 * <b>Note:</b> 063 * For Python API, flags are modified as cv.DRAW_MATCHES_FLAGS_DEFAULT, 064 * cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, cv.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG, 065 * cv.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS 066 */ 067 public static void drawKeypoints(Mat image, MatOfKeyPoint keypoints, Mat outImage, Scalar color) { 068 Mat keypoints_mat = keypoints; 069 drawKeypoints_1(image.nativeObj, keypoints_mat.nativeObj, outImage.nativeObj, color.val[0], color.val[1], color.val[2], color.val[3]); 070 } 071 072 /** 073 * Draws keypoints. 074 * 075 * @param image Source image. 076 * @param keypoints Keypoints from the source image. 077 * @param outImage Output image. Its content depends on the flags value defining what is drawn in the 078 * output image. See possible flags bit values below. 079 * DrawMatchesFlags. See details above in drawMatches . 080 * 081 * <b>Note:</b> 082 * For Python API, flags are modified as cv.DRAW_MATCHES_FLAGS_DEFAULT, 083 * cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, cv.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG, 084 * cv.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS 085 */ 086 public static void drawKeypoints(Mat image, MatOfKeyPoint keypoints, Mat outImage) { 087 Mat keypoints_mat = keypoints; 088 drawKeypoints_2(image.nativeObj, keypoints_mat.nativeObj, outImage.nativeObj); 089 } 090 091 092 // 093 // C++: void cv::drawMatches(Mat img1, vector_KeyPoint keypoints1, Mat img2, vector_KeyPoint keypoints2, vector_DMatch matches1to2, Mat& outImg, Scalar matchColor = Scalar::all(-1), Scalar singlePointColor = Scalar::all(-1), vector_char matchesMask = std::vector<char>(), DrawMatchesFlags flags = DrawMatchesFlags::DEFAULT) 094 // 095 096 /** 097 * Draws the found matches of keypoints from two images. 098 * 099 * @param img1 First source image. 100 * @param keypoints1 Keypoints from the first source image. 101 * @param img2 Second source image. 102 * @param keypoints2 Keypoints from the second source image. 103 * @param matches1to2 Matches from the first image to the second one, which means that keypoints1[i] 104 * has a corresponding point in keypoints2[matches[i]] . 105 * @param outImg Output image. Its content depends on the flags value defining what is drawn in the 106 * output image. See possible flags bit values below. 107 * @param matchColor Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1) 108 * , the color is generated randomly. 109 * @param singlePointColor Color of single keypoints (circles), which means that keypoints do not 110 * have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. 111 * @param matchesMask Mask determining which matches are drawn. If the mask is empty, all matches are 112 * drawn. 113 * @param flags Flags setting drawing features. Possible flags bit values are defined by 114 * DrawMatchesFlags. 115 * 116 * This function draws matches of keypoints from two images in the output image. Match is a line 117 * connecting two keypoints (circles). See cv::DrawMatchesFlags. 118 */ 119 public static void drawMatches(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, MatOfDMatch matches1to2, Mat outImg, Scalar matchColor, Scalar singlePointColor, MatOfByte matchesMask, int flags) { 120 Mat keypoints1_mat = keypoints1; 121 Mat keypoints2_mat = keypoints2; 122 Mat matches1to2_mat = matches1to2; 123 Mat matchesMask_mat = matchesMask; 124 drawMatches_0(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3], singlePointColor.val[0], singlePointColor.val[1], singlePointColor.val[2], singlePointColor.val[3], matchesMask_mat.nativeObj, flags); 125 } 126 127 /** 128 * Draws the found matches of keypoints from two images. 129 * 130 * @param img1 First source image. 131 * @param keypoints1 Keypoints from the first source image. 132 * @param img2 Second source image. 133 * @param keypoints2 Keypoints from the second source image. 134 * @param matches1to2 Matches from the first image to the second one, which means that keypoints1[i] 135 * has a corresponding point in keypoints2[matches[i]] . 136 * @param outImg Output image. Its content depends on the flags value defining what is drawn in the 137 * output image. See possible flags bit values below. 138 * @param matchColor Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1) 139 * , the color is generated randomly. 140 * @param singlePointColor Color of single keypoints (circles), which means that keypoints do not 141 * have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. 142 * @param matchesMask Mask determining which matches are drawn. If the mask is empty, all matches are 143 * drawn. 144 * DrawMatchesFlags. 145 * 146 * This function draws matches of keypoints from two images in the output image. Match is a line 147 * connecting two keypoints (circles). See cv::DrawMatchesFlags. 148 */ 149 public static void drawMatches(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, MatOfDMatch matches1to2, Mat outImg, Scalar matchColor, Scalar singlePointColor, MatOfByte matchesMask) { 150 Mat keypoints1_mat = keypoints1; 151 Mat keypoints2_mat = keypoints2; 152 Mat matches1to2_mat = matches1to2; 153 Mat matchesMask_mat = matchesMask; 154 drawMatches_1(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3], singlePointColor.val[0], singlePointColor.val[1], singlePointColor.val[2], singlePointColor.val[3], matchesMask_mat.nativeObj); 155 } 156 157 /** 158 * Draws the found matches of keypoints from two images. 159 * 160 * @param img1 First source image. 161 * @param keypoints1 Keypoints from the first source image. 162 * @param img2 Second source image. 163 * @param keypoints2 Keypoints from the second source image. 164 * @param matches1to2 Matches from the first image to the second one, which means that keypoints1[i] 165 * has a corresponding point in keypoints2[matches[i]] . 166 * @param outImg Output image. Its content depends on the flags value defining what is drawn in the 167 * output image. See possible flags bit values below. 168 * @param matchColor Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1) 169 * , the color is generated randomly. 170 * @param singlePointColor Color of single keypoints (circles), which means that keypoints do not 171 * have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. 172 * drawn. 173 * DrawMatchesFlags. 174 * 175 * This function draws matches of keypoints from two images in the output image. Match is a line 176 * connecting two keypoints (circles). See cv::DrawMatchesFlags. 177 */ 178 public static void drawMatches(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, MatOfDMatch matches1to2, Mat outImg, Scalar matchColor, Scalar singlePointColor) { 179 Mat keypoints1_mat = keypoints1; 180 Mat keypoints2_mat = keypoints2; 181 Mat matches1to2_mat = matches1to2; 182 drawMatches_2(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3], singlePointColor.val[0], singlePointColor.val[1], singlePointColor.val[2], singlePointColor.val[3]); 183 } 184 185 /** 186 * Draws the found matches of keypoints from two images. 187 * 188 * @param img1 First source image. 189 * @param keypoints1 Keypoints from the first source image. 190 * @param img2 Second source image. 191 * @param keypoints2 Keypoints from the second source image. 192 * @param matches1to2 Matches from the first image to the second one, which means that keypoints1[i] 193 * has a corresponding point in keypoints2[matches[i]] . 194 * @param outImg Output image. Its content depends on the flags value defining what is drawn in the 195 * output image. See possible flags bit values below. 196 * @param matchColor Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1) 197 * , the color is generated randomly. 198 * have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. 199 * drawn. 200 * DrawMatchesFlags. 201 * 202 * This function draws matches of keypoints from two images in the output image. Match is a line 203 * connecting two keypoints (circles). See cv::DrawMatchesFlags. 204 */ 205 public static void drawMatches(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, MatOfDMatch matches1to2, Mat outImg, Scalar matchColor) { 206 Mat keypoints1_mat = keypoints1; 207 Mat keypoints2_mat = keypoints2; 208 Mat matches1to2_mat = matches1to2; 209 drawMatches_3(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3]); 210 } 211 212 /** 213 * Draws the found matches of keypoints from two images. 214 * 215 * @param img1 First source image. 216 * @param keypoints1 Keypoints from the first source image. 217 * @param img2 Second source image. 218 * @param keypoints2 Keypoints from the second source image. 219 * @param matches1to2 Matches from the first image to the second one, which means that keypoints1[i] 220 * has a corresponding point in keypoints2[matches[i]] . 221 * @param outImg Output image. Its content depends on the flags value defining what is drawn in the 222 * output image. See possible flags bit values below. 223 * , the color is generated randomly. 224 * have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. 225 * drawn. 226 * DrawMatchesFlags. 227 * 228 * This function draws matches of keypoints from two images in the output image. Match is a line 229 * connecting two keypoints (circles). See cv::DrawMatchesFlags. 230 */ 231 public static void drawMatches(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, MatOfDMatch matches1to2, Mat outImg) { 232 Mat keypoints1_mat = keypoints1; 233 Mat keypoints2_mat = keypoints2; 234 Mat matches1to2_mat = matches1to2; 235 drawMatches_4(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj); 236 } 237 238 239 // 240 // C++: void cv::drawMatches(Mat img1, vector_KeyPoint keypoints1, Mat img2, vector_KeyPoint keypoints2, vector_vector_DMatch matches1to2, Mat& outImg, Scalar matchColor = Scalar::all(-1), Scalar singlePointColor = Scalar::all(-1), vector_vector_char matchesMask = std::vector<std::vector<char> >(), DrawMatchesFlags flags = DrawMatchesFlags::DEFAULT) 241 // 242 243 public static void drawMatchesKnn(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, List<MatOfDMatch> matches1to2, Mat outImg, Scalar matchColor, Scalar singlePointColor, List<MatOfByte> matchesMask, int flags) { 244 Mat keypoints1_mat = keypoints1; 245 Mat keypoints2_mat = keypoints2; 246 List<Mat> matches1to2_tmplm = new ArrayList<Mat>((matches1to2 != null) ? matches1to2.size() : 0); 247 Mat matches1to2_mat = Converters.vector_vector_DMatch_to_Mat(matches1to2, matches1to2_tmplm); 248 List<Mat> matchesMask_tmplm = new ArrayList<Mat>((matchesMask != null) ? matchesMask.size() : 0); 249 Mat matchesMask_mat = Converters.vector_vector_char_to_Mat(matchesMask, matchesMask_tmplm); 250 drawMatchesKnn_0(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3], singlePointColor.val[0], singlePointColor.val[1], singlePointColor.val[2], singlePointColor.val[3], matchesMask_mat.nativeObj, flags); 251 } 252 253 public static void drawMatchesKnn(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, List<MatOfDMatch> matches1to2, Mat outImg, Scalar matchColor, Scalar singlePointColor, List<MatOfByte> matchesMask) { 254 Mat keypoints1_mat = keypoints1; 255 Mat keypoints2_mat = keypoints2; 256 List<Mat> matches1to2_tmplm = new ArrayList<Mat>((matches1to2 != null) ? matches1to2.size() : 0); 257 Mat matches1to2_mat = Converters.vector_vector_DMatch_to_Mat(matches1to2, matches1to2_tmplm); 258 List<Mat> matchesMask_tmplm = new ArrayList<Mat>((matchesMask != null) ? matchesMask.size() : 0); 259 Mat matchesMask_mat = Converters.vector_vector_char_to_Mat(matchesMask, matchesMask_tmplm); 260 drawMatchesKnn_1(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3], singlePointColor.val[0], singlePointColor.val[1], singlePointColor.val[2], singlePointColor.val[3], matchesMask_mat.nativeObj); 261 } 262 263 public static void drawMatchesKnn(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, List<MatOfDMatch> matches1to2, Mat outImg, Scalar matchColor, Scalar singlePointColor) { 264 Mat keypoints1_mat = keypoints1; 265 Mat keypoints2_mat = keypoints2; 266 List<Mat> matches1to2_tmplm = new ArrayList<Mat>((matches1to2 != null) ? matches1to2.size() : 0); 267 Mat matches1to2_mat = Converters.vector_vector_DMatch_to_Mat(matches1to2, matches1to2_tmplm); 268 drawMatchesKnn_2(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3], singlePointColor.val[0], singlePointColor.val[1], singlePointColor.val[2], singlePointColor.val[3]); 269 } 270 271 public static void drawMatchesKnn(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, List<MatOfDMatch> matches1to2, Mat outImg, Scalar matchColor) { 272 Mat keypoints1_mat = keypoints1; 273 Mat keypoints2_mat = keypoints2; 274 List<Mat> matches1to2_tmplm = new ArrayList<Mat>((matches1to2 != null) ? matches1to2.size() : 0); 275 Mat matches1to2_mat = Converters.vector_vector_DMatch_to_Mat(matches1to2, matches1to2_tmplm); 276 drawMatchesKnn_3(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj, matchColor.val[0], matchColor.val[1], matchColor.val[2], matchColor.val[3]); 277 } 278 279 public static void drawMatchesKnn(Mat img1, MatOfKeyPoint keypoints1, Mat img2, MatOfKeyPoint keypoints2, List<MatOfDMatch> matches1to2, Mat outImg) { 280 Mat keypoints1_mat = keypoints1; 281 Mat keypoints2_mat = keypoints2; 282 List<Mat> matches1to2_tmplm = new ArrayList<Mat>((matches1to2 != null) ? matches1to2.size() : 0); 283 Mat matches1to2_mat = Converters.vector_vector_DMatch_to_Mat(matches1to2, matches1to2_tmplm); 284 drawMatchesKnn_4(img1.nativeObj, keypoints1_mat.nativeObj, img2.nativeObj, keypoints2_mat.nativeObj, matches1to2_mat.nativeObj, outImg.nativeObj); 285 } 286 287 288 289 290 // C++: void cv::drawKeypoints(Mat image, vector_KeyPoint keypoints, Mat& outImage, Scalar color = Scalar::all(-1), DrawMatchesFlags flags = DrawMatchesFlags::DEFAULT) 291 private static native void drawKeypoints_0(long image_nativeObj, long keypoints_mat_nativeObj, long outImage_nativeObj, double color_val0, double color_val1, double color_val2, double color_val3, int flags); 292 private static native void drawKeypoints_1(long image_nativeObj, long keypoints_mat_nativeObj, long outImage_nativeObj, double color_val0, double color_val1, double color_val2, double color_val3); 293 private static native void drawKeypoints_2(long image_nativeObj, long keypoints_mat_nativeObj, long outImage_nativeObj); 294 295 // C++: void cv::drawMatches(Mat img1, vector_KeyPoint keypoints1, Mat img2, vector_KeyPoint keypoints2, vector_DMatch matches1to2, Mat& outImg, Scalar matchColor = Scalar::all(-1), Scalar singlePointColor = Scalar::all(-1), vector_char matchesMask = std::vector<char>(), DrawMatchesFlags flags = DrawMatchesFlags::DEFAULT) 296 private static native void drawMatches_0(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3, double singlePointColor_val0, double singlePointColor_val1, double singlePointColor_val2, double singlePointColor_val3, long matchesMask_mat_nativeObj, int flags); 297 private static native void drawMatches_1(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3, double singlePointColor_val0, double singlePointColor_val1, double singlePointColor_val2, double singlePointColor_val3, long matchesMask_mat_nativeObj); 298 private static native void drawMatches_2(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3, double singlePointColor_val0, double singlePointColor_val1, double singlePointColor_val2, double singlePointColor_val3); 299 private static native void drawMatches_3(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3); 300 private static native void drawMatches_4(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj); 301 302 // C++: void cv::drawMatches(Mat img1, vector_KeyPoint keypoints1, Mat img2, vector_KeyPoint keypoints2, vector_vector_DMatch matches1to2, Mat& outImg, Scalar matchColor = Scalar::all(-1), Scalar singlePointColor = Scalar::all(-1), vector_vector_char matchesMask = std::vector<std::vector<char> >(), DrawMatchesFlags flags = DrawMatchesFlags::DEFAULT) 303 private static native void drawMatchesKnn_0(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3, double singlePointColor_val0, double singlePointColor_val1, double singlePointColor_val2, double singlePointColor_val3, long matchesMask_mat_nativeObj, int flags); 304 private static native void drawMatchesKnn_1(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3, double singlePointColor_val0, double singlePointColor_val1, double singlePointColor_val2, double singlePointColor_val3, long matchesMask_mat_nativeObj); 305 private static native void drawMatchesKnn_2(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3, double singlePointColor_val0, double singlePointColor_val1, double singlePointColor_val2, double singlePointColor_val3); 306 private static native void drawMatchesKnn_3(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj, double matchColor_val0, double matchColor_val1, double matchColor_val2, double matchColor_val3); 307 private static native void drawMatchesKnn_4(long img1_nativeObj, long keypoints1_mat_nativeObj, long img2_nativeObj, long keypoints2_mat_nativeObj, long matches1to2_mat_nativeObj, long outImg_nativeObj); 308 309}