我想使用artoolkit库获取 videocapture ,以便在 android 上进行图像处理。我是在 Qt5.6 上做的。所以我会使用原生(c ++)部分进行处理,使用 java 部分来获取视频捕获(获取帧)。
在官方网站上他们是sais:
Android目前不允许从本机代码访问相机。相反,只有Java代码才能打开相机并捕获帧。此外,当前活动视图中必须包含实时摄像头预览才能捕获帧。这意味着ARToolKit本身无法启动视频捕获,但必须等待Java应用程序使用JNI传递视频信息和帧。
即使在官方网站上我也没有找到相关文档。
我准备接受任何建议或链接。 谢谢你们,
答案 0 :(得分:0)
我已经成功地将库(artoolkit)集成到qt上并在projet中添加了libNative(/ android / libs / arm-v7a)。 这是我在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 / android
我已经有用于视频捕获的Java文件(4个java文件)。正如我在上一篇文章中所说,Android在java部分捕获视频帧并通过在Qt上使用JNI传递有关帧的信息。
我的问题?如何在Qt项目上添加Java文件并使其工作?我已经尝试但我有包问题因为我的应用程序不使用相同。我该如何解决?