簡體   English   中英

使用OpenCV Android移植

[英]Using OpenCV Android porting

我想使用OpenCV Android移植,你可以在這里找到,為增強現實應用程序進行一些圖像轉換。 我發現配置和構建庫沒有問題,我沒有收到任何錯誤,我成功地把它放在我的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");

}


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");

}

在這兩種情況下,我都會收到“錯誤”。 sdcard上的文件沒有問題,因為我嘗試這樣做:


FILE* file = fopen("/sdcard/video_galaxyspica_352x288_15fps.3gp","w+");

//FILE* file = fopen("/sdcard/testimage.jpg","w+");

if (!file) return env->NewStringUTF("Error");
else {
    fflush(file);
    fclose(file);
    return env->NewStringUTF("OK");
}

我收到“OK”。 我意識到highgui庫中存在一些問題,但是我不明白為了避免這個問題我應該做些什么。 一些建議!!!

謝謝大家

伙計們 - 你可能想嘗試這個鏈接,它將C ++的“現代”界面移植到opencv。 不推薦使用IplImage,但如果您需要支持遺留代碼,則新版本會保留包裝器。

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

有一個示例相機校准應用程序,您單擊快照幾次,它將解決K矩陣。

注意:你需要用於STL類的crystax ndk, http ://www.crystax.net/android/ndk-r4.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM