2016-06-28 27 views
0

我想獲得videocapture與artoolkit庫爲了做圖像處理android。我在Qt5.6。所以我會使用原生(C++)部分進行處理,並使用java部分來獲取videocapture(獲取幀)。
在官方網站上,他們最高審計機關:如何在Qt 5.6上使用ARTOOLKIT LIBRARY ANDROID?

的Android目前不允許從本地代碼訪問攝像機。相反,只有Java代碼才能打開相機並捕獲幀。此外,當前活動的視圖中必須包含實況相機預覽才能捕獲幀。這意味着ARToolKit本身不能啓動視頻捕獲,而是必須等待Java應用程序使用JNI傳遞視頻信息和幀。

即使在官方網站上,我也沒有發現有關它的文檔。

我準備採取任何建議或鏈接。 謝謝你們,

回答

0

我已經成功地將庫(artoolkit)整合到qt上,並在projet(/ android/libs/arm-v7a)中添加了libNative。 這是我在Qt的專業文件。

#------------------------------------------------- 
# 
# Project created by QtCreator 2016-06-28T11:45:46 
# Ismaila Diallo ARTOOLKIT LIBRARY FOR ANDROID 
#------------------------------------------------- 

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = ArtoolkitCamera 
TEMPLATE = app 


SOURCES += main.cpp\ 
     ARNative.cpp 

HEADERS += ARNative.h 

FORMS += mainwindow.ui 

CONFIG += mobility 
MOBILITY = 

INCLUDEPATH += "/home/diallo/ArTool/include" 
    android { 
    LIBS += \ 
    -L"/home/diallo/ArTool/android/obj/local/armeabi-v7a"\ 
    -lar\ 
    -lar2\ 
    -largsub_es\ 
    -largsub_es2\ 
    -laricp\ 
    -larmulti\ 
    -larosg\ 
    -larvideo\ 
    -lcpufeatures\ 
    -leden\ 
    -lft2\ 
    -lgif\ 
    -ljpeg\ 
    -lkpm\ 
    -lOpenThreads\ 
    -losg\ 
    -losgAnimation\ 
    -losgDB\ 
    -losgdb_3dc\ 
    -losgdb_ac\ 
    -losgdb_bmp\ 
    -losgdb_bsp\ 
    -losgdb_bvh\ 
    -losgdb_cfg\ 
    -losgdb_curl\ 
    -losgdb_dds\ 
    -losgdb_deprecated_osg\ 
    -losgdb_deprecated_osganimation\ 
    -losgdb_deprecated_osgfx\ 
    -losgdb_deprecated_osgparticle\ 
    -losgdb_deprecated_osgshadow\ 
    -losgdb_deprecated_osgsim\ 
    -losgdb_deprecated_osgterrain\ 
    -losgdb_deprecated_osgtext\ 
    -losgdb_deprecated_osgviewer\ 
    -losgdb_deprecated_osgvolume\ 
    -losgdb_deprecated_osgwidget\ 
    -losgdb_dot\ 
    -losgdb_dw\ 
    -losgdb_dxf\ 
    -losgdb_freetype\ 
    -losgdb_gif\ 
    -losgdb_glsl\ 
    -losgdb_hdr\ 
    -losgdb_ive\ 
    -losgdb_jpeg\ 
    -losgdb_ktx\ 
    -losgdb_logo\ 
    -losgdb_lwo\ 
    -losgdb_lws\ 
    -losgdb_md2\ 
    -losgdb_mdl\ 
    -losgdb_normals\ 
    -losgdb_obj\ 
    -losgdb_openflight\ 
    -losgdb_osc\ 
    -losgdb_osg\ 
    -losgdb_osga\ 
    -losgdb_osgshadow\ 
    -losgdb_osgterrain\ 
    -losgdb_osgtgz\ 
    -losgdb_osgviewer\ 
    -losgdb_p3d\ 
    -losgdb_pic\ 
    -losgdb_ply\ 
    -losgdb_png\ 
    -losgdb_pnm\ 
    -losgdb_pov\ 
    -losgdb_pvr\ 
    -losgdb_revisions\ 
    -losgdb_rgb\ 
    -losgdb_rot\ 
    -losgdb_scale\ 
    -losgdb_serializers_osg\ 
    -losgdb_serializers_osganimation\ 
    -losgdb_serializers_osgfx\ 
    -losgdb_serializers_osgga\ 
    -losgdb_serializers_osgmanipulator\ 
    -losgdb_serializers_osgparticle\ 
    -losgdb_serializers_osgshadow\ 
    -losgdb_serializers_osgsim\ 
    -losgdb_serializers_osgterrain\ 
    -losgdb_serializers_osgtext\ 
    -losgdb_serializers_osgviewer\ 
    -losgdb_serializers_osgvolume\ 
    -losgdb_shp\ 
    -losgdb_stl\ 
    -losgdb_tga\ 
    -losgdb_tgz\ 
    -losgdb_tiff\ 
    -losgdb_trans\ 
    -losgdb_trk\ 
    -losgdb_txf\ 
    -losgdb_txp\ 
    -losgdb_vtf\ 
    -losgdb_x\ 
    -losgFX\ 
    -losgGA\ 
    -losgManipulator\ 
    -losgParticle\ 
    -losgPresentation\ 
    -losgShadow\ 
    -losgSim\ 
    -losgTerrain\ 
    -losgText\ 
    -losgUtil\ 
    -losgViewer\ 
    -losgVolume\ 
    -losgWidget\ 
    -lpng\ 
    -ltiff\ 
    -lutil 

     } 

DISTFILES += \ 
android/AndroidManifest.xml \ 
android/gradle/wrapper/gradle-wrapper.jar \ 
android/gradlew \ 
android/res/values/s.xml \ 
android/build.gradle \ 
android/gradle/wrapper/gradle-wrapper.properties \ 
android/gradlew.bat \ 

android/libs/libARNative.so 

ANDROID_PACKAGE_SOURCE_DIR = $$ PWD /安卓

我已經爲視頻Java文件捕捉(4個Java文件)。正如我在上一篇文章中所說的,Android在java部分捕獲視頻幀並通過在Qt上使用JNI傳遞幀的相關信息。

我的問題是?如何在Qt項目中添加Java文件並使其工作?我已經嘗試,但我有包問題導致我的應用程序不使用相同的。我如何解決它?