イメージフレームから抽出された特徴点を Android の SQLlite データベースに保存するにはどうすればよいですか? C ++を使用してNDKで特徴点を正常に検出および抽出できました。これらの特徴点を保存し、後でカメラで検出された特徴点と比較するために使用したいと思います。
ここに私が取り組む予定のサンプルコードがあります
JNIEXPORT void JNICALLJava_org_opencv_samples_tutorial2_Tutorial2Activity_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba)
{
Mat& mGr = *(Mat*)addrGray;
Mat& mRgb = *(Mat*)addrRgba;
cv::Mat descriptor;
vector<KeyPoint> v;
cv::OrbFeatureDetector detector;
cv::OrbDescriptorExtractor extractor;
detector.detect(mGr, v);
extractor.compute(mGr,v,descriptor);
{
// code for storing the feature points
}
}
Java_org_opencv_samples_tutorial2_Tutorial2Activity_MatchFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba)
{
Mat& mGr = *(Mat*)addrGray;
Mat& mRgb = *(Mat*)addrRgba;
cv::Mat descriptor;
vector<KeyPoint> v1;
cv::OrbFeatureDetector detector1;
cv::OrbDescriptorExtractor extractor1;
detector1.detect(mGr, v1);
extractor1.compute(mGr,v1,descriptor1);
{
// code for fetching the feature points from database
}
cv::BFMatcher matcher1;
std::vector<cv::DMatch> matches;
matcher1.match({descriptor extracted from database},descriptor1,matches);
// here comes code for finding good matches by ratio test and Homograpgy
}
Androidでデータベースから特徴点を保存および抽出する方法を説明してください。