欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

android studio sift,android - 使用SIFT / SURF通过Android Studio在Android上使用opencv进行特征提取 - 堆栈内存溢出...

发布时间:2024/10/14 Android 95 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android studio sift,android - 使用SIFT / SURF通过Android Studio在Android上使用opencv进行特征提取 - 堆栈内存溢出... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我正在使用opencv在android studio上的android上开发功能提取/匹配应用程序。我按照以下步骤使用本机代码以使用SIFT或SURF算法。.我已经复制了文件夹(armeabi,armeabi-v7a, ... etc)到jniLibs文件夹,这是我的主要方法代码

public class MainActivity extends Activity implements CvCameraViewListener2{

private Mat mRgba;

private Mat mGrayMat;

private CameraBridgeViewBase mOpenCvCameraView;

Mat descriptors ;

List descriptorsList;

FeatureDetector featureDetector;

MatOfKeyPoint keyPoints;

DescriptorExtractor descriptorExtractor;

DescriptorMatcher descriptorMatcher;

boolean mIsJavaCamera = true;

static {System.loadLibrary("opencv_java");}

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {

@Override

public void onManagerConnected(int status) {

switch (status) {

case LoaderCallbackInterface.SUCCESS:

{

//Log.i(TAG, "OpenCV loaded successfully");

mOpenCvCameraView.enableView();

} break;

default:

{

super.onManagerConnected(status);

} break;

}

}

};

@Override

public void onCameraViewStarted(int width, int height) {

mRgba = new Mat();

mGrayMat = new Mat();

featureDetector=FeatureDetector.create(FeatureDetector.SIFT);

descriptorExtractor=DescriptorExtractor.create(DescriptorExtractor.SURF);

descriptorMatcher=DescriptorMatcher.create(6);

keyPoints = new MatOfKeyPoint();

descriptors = new Mat();

}

public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {

final Mat rgba = inputFrame.rgba();

Imgproc.cvtColor(rgba, rgba, Imgproc.COLOR_RGBA2GRAY);

featureDetector.detect(rgba, keyPoints);

Features2d.drawKeypoints(rgba, keyPoints, rgba);

return rgba;

}

当我编译并运行该应用程序时,它运行不到一秒钟,然后崩溃了。 你有什么建议? (我使用的是Android Studio 1.1,而不是Eclipse)。

提前致谢。

总结

以上是生活随笔为你收集整理的android studio sift,android - 使用SIFT / SURF通过Android Studio在Android上使用opencv进行特征提取 - 堆栈内存溢出...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。