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进行特征提取 - 堆栈内存溢出...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux ora 00119,ORA-
- 下一篇: android 缓存文件的工具类,总结的