1 #include <jni.h>
2 #include <opencv2/core/core.hpp>
3 #include <opencv2/imgproc/imgproc.hpp>
4 #include <opencv2/features2d/features2d.hpp>
5 #include <vector>
6
7 using namespace std;
8 using namespace cv;
9
10 extern "C" {
11 JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial2_Tutorial2Activity_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba);
12
Java_org_opencv_samples_tutorial2_Tutorial2Activity_FindFeatures(JNIEnv *,jobject,jlong addrGray,jlong addrRgba)13 JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial2_Tutorial2Activity_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba)
14 {
15 Mat& mGr = *(Mat*)addrGray;
16 Mat& mRgb = *(Mat*)addrRgba;
17 vector<KeyPoint> v;
18
19 Ptr<FeatureDetector> detector = FastFeatureDetector::create(50);
20 detector->detect(mGr, v);
21 for( unsigned int i = 0; i < v.size(); i++ )
22 {
23 const KeyPoint& kp = v[i];
24 circle(mRgb, Point(kp.pt.x, kp.pt.y), 10, Scalar(255,0,0,255));
25 }
26 }
27 }
28