2016-06-28 2 views
0

Я хотел бы получить videocapture с библиотекой artoolkit для обработки изображений на android. Я делаю это на Qt5.6. Поэтому я бы использовал родную (C++) часть для обработки и java часть, чтобы получить видеозахват (получить кадры).
В официальном сайте они сай:Как использовать БИБЛИОТЕКУ ARTOOLKIT на ANDROID на Qt 5.6?

Android в настоящее время не разрешает доступ к камере с машинного кода. Вместо этого только код Java может открывать камеру и захватывать кадры. Кроме того, предварительный просмотр в реальном времени камеры должен быть включен в представление текущей активности для кадров, подлежащих захвату. Это означает, что сам ARToolKit не может инициировать захват видео, но вместо этого должен ждать приложения Java для передачи видеоинформации и кадров с использованием JNI.

Я не нашел документацию об этом даже на официальном сайте.

Я готов принять любые советы или ссылки. Спасибо, ребята,

ответ

0

Я успешно интегрировал библиотеку (artoolkit) на qt и добавил libNative в проект (/ android/libs/arm-v7a). Это мой файл pro на 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-части и передачу информации о кадрах с использованием JNI на Qt.

Мой вопрос? Как добавить файлы Java в проект Qt и заставить их работать? Я уже пытаюсь, но у меня проблема с пакетом, потому что мое приложение не использует то же самое. Как я могу это решить?