使用OpenCV Android移植

时间:2010-05-10 16:14:34

标签: android opencv android-ndk augmented-reality

我想使用OpenCV Android移植,您可以找到HERE,为增强现实应用程序进行一些图像转换。我发现配置和构建库没有问题,我没有收到任何错误,我成功地把它放在我的Android应用程序中的JNI进程中:库libopencv.so位于我项目目录下的正确目录“\ libs \ armeabi \”中。 而现在的问题是:

1)首先,我想了解这个移植源自哪个版本的原始openCV库。对我来说很重要,如果它来自版本1.5,2.0或2.1,因为相同的功能非常不同而其他功能不存在。

2)在开始实时视频操作之前,我会尝试对单个图像或保存的视频进行一些简单的操作:


JNIEXPORT
jstring
JNICALL
Java_org_examples_testOpenCV_OpenCV_LoadImage(JNIEnv* env, jobject thiz)
{
    IplImage* imgIn = cvLoadImage("/sdcard/testimage.jpg", -1);

if (!imgIn) return env->NewStringUTF("Error");

cvReleaseImage( &imgIn );

return env->NewStringUTF("Ok");

}

if (!imgIn) return env->NewStringUTF("Error");

cvReleaseImage( &imgIn );

return env->NewStringUTF("Ok");

在这两种情况下,我都会收到“错误”。 sdcard上的文件没有问题因为我试图这样做:


JNIEXPORT
jstring
JNICALL
Java_balmas_examples_testOpenCV_OpenCV_manageVideo(JNIEnv* env, jobject thiz)
{
     CvCapture* capture = cvCaptureFromFile("/sdcard/video_galaxyspica_352x288_15fps.3gp");

    if (!capture) return env->NewStringUTF("Error");

    return env->NewStringUTF("Ok");

}

我收到“OK”。 我意识到highgui库中存在一些问题,但是我不明白为了避免这个问题我应该做些什么。 一些建议!!!

谢谢大家

1 个答案:

答案 0 :(得分:2)

伙计们 - 您可能想尝试这个链接,它将C ++的“现代”界面移植到opencv。不推荐使用IplImage,但如果您需要支持遗留代码,则新版本会保留包装器。

http://code.google.com/p/android-opencv/

有一个示例相机校准应用程序,您单击快照几次,它将解决K矩阵。

注意:您需要使用structax ndk作为STL类http://www.crystax.net/android/ndk-r4.php

相关问题