`

OpenFrameworks + kinect + Android

阅读更多

How to make:


1.Setup ofxAndroid's Development Environment
Please refer to the following site:
ofxAndroid setup manual
http://www.openframeworks.cc/setup/android-eclipse
If you can read Japanese & want to setup it on Windows, you should refer to this site.
http://blog.goo.ne.jp/tuninghigh/e/637821f5b76b370876e3092e860ce7db



2.Merge ofxKinect to ofxAndroid
2-1.Download & Setup to Eclipse

Please download soruce code from the following site:
https://github.com/ofTheo/ofxKinect

Next, Copy [ofxKinect directory]/src/ofxKinect/ to [ofxAndroid directory]/addons/ .
Final, Add include path to Eclipse's "(ofxAndroid's)addons" project.
Please run Eclipse and add the folloing place & path:

Place: Properties -> C/C++ General -> Pths and Symbols -> Includes tab(GNU C++)
Path: [ofxAndroid directory]/addons/src/ofxKinect/src/




2-2.Fix compile error
If ofxAndroid doesn't have ofxThread::waitForThread(bool) function.
Please add the following source:
[ofxAndroid directory]/addons/ofxThread/src/ofxThread.h

void waitForThread(bool stop = true);



[ofxAndroid directory]/addons/ofxThread/src/ofxThread.c


void ofxThread::waitForThread(bool stop){
if (threadRunning){
// Reset the thread state
if(stop){
threadRunning = false;
if(verbose)printf("ofxThread: stopping thread\n");
}
if(verbose)printf("ofxThread: waiting for thread to stop\n");
// Wait for the thread to finish
#ifdef TARGET_WIN32
WaitForSingleObject(myThread, INFINITE);
CloseHandle(myThread);
#else
if(pthread_self()==myThread) printf("ofxThread: error, waitForThread should only be called from outside the thread");
pthread_join(myThread, NULL);
#endif
if(verbose)printf("ofxThread: thread stopped\n");
myThread = NULL;
}else{
if(verbose)printf("ofxThread: thread already stopped\n");
}
}





2-3.Do customize source code for Android
Please remove the following code in ofxKinect::threadedFunction() function:

ofSleepMillis(20);


Please add the following code in [ofxKinect directory]/libs/lubusb/io.c file:


#define TIMESPEC_TO_TIMEVAL(tv, ts) \
do { \
(tv)->tv_sec = (ts)->tv_sec; \
(tv)->tv_usec = (ts)->tv_nsec / 1000; \
} while (0)





2-4.Create your application project
Please choose sample programs from the following directory:

[ofxAndroid directory]/apps/androidExamples/


And copy it to the following directory:

[NDK directory]/apps/


Final, export this project on Eclipse.



2-5.Build project
You must build JNI at first.
You execute the following commands:

cd [NDK directory]/apps/[your app directory]
[NDK directory]/ndk-build -B


And, you build android application on Eclipse.

*If you don't know how to use ofxKinect framework, please refer to "[ofxKinect directory]/src/testApp.cpp".



3.Change Android's configuration
Please add the following line to init.rc:

mount usbfs none /proc/bus/usb -o devmode=0666





4.Upgrade Android's kernel
libusb MUST neet "USB FS". And Kinect MUST neet "High Speed USB(USB2.0)".
Therefore, you check the following kernel options:
.config

CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_ARC_OTG_ALLOW_HS=y (only armadillo)




Appendix
If your device can not draw normal Z-camera image and RGB-camera image, you MUST need to build optimized kernel & userland.
I used the following optimization option for building kernel, userland & "OpenFrameworks x kinect x Android".
for armadillo

-O3 -march=armv6 -mtune=arm1136jf-s -mfpu=vfp -ffast-math -fno-math-errno -mfloat-abi=softfp -ftree-vectorize -fomit-frame-pointer -funroll-loops -fstrict-aliasing -funswitch-loops


for beagleboard

-O3 -ffast-math -fno-math-errno -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=neon -ftree-vectorize -fomit-frame-pointer -funroll-loops -fstrict-aliasing -funswitch-loops






*Download
Full "OpenFrameworks x kinect x Android" Development Environment for Armadillo
Full "OpenFrameworks x kinect x Android" Development Environment for beagleboard
Only source code "OpenFrameworks x kinect x Android

Full "OpenFrameworks x kinect x Android" Development Environment has:

Android NDK crystax version for Linux
Android SDK for Linux
C/C++ Eclipse for Linux
ofxKinect(Kinect for OpenFrameworks)'s source codes
ofxAndroid(Android for OpenFrameworks)'s source codes
"OpenFrameworks x kinect x Android" 's source codes
sample program Eclipse's workspace



OpenFrameworks + kinect + Android项目源码下载
原文链接:http://www.cnkinect.com/thread-2953-1-1.html  

分享到:
评论

相关推荐

    3DCloth:3D布料openframeworks + glm

    《3DCloth:3D布料模拟在openframeworks与glm中的实现》 3DCloth是一个专注于3D布料模拟的项目,它基于C++编程语言,并利用了openframeworks库以及glm数学库。openframeworks是一个开源的跨平台工具包,专为艺术家、...

    Game-of-life:简单生活游戏,使用OpenFrameworks C ++编写

    简单生活游戏,使用OpenFrameworks C ++编写 建议在阅读和/或修改openFrameworks和/或C ++中的初学者代码之前阅读以下内容: : 。 目前该项目尚未获得许可,您可以根据需要进行该项目的操作,如果您共享此仓库,请...

    KinectV2Sample:在 Windows 上的 openFrameworks 中使用 Kinect for Windows SDK 2.0 的示例

    《使用openFrameworks与Kinect for Windows SDK 2.0在Windows上的实践教程》 在现代计算机视觉和交互式艺术领域,openFrameworks是一个广泛使用的开源C++工具包,它为开发者提供了一个灵活的环境来创建实验性的图形...

    [openFrameworks] 精通 openFrameworks (英文版)

    Make use of the next generation technologies and techniques in your projects involving OpenCV, Microsoft Kinect, and so on ☆ 出版信息:☆ [作者信息] Denis Perevalov [出版机构] Packt Publishing ...

    kinect在opengframeworks开发包

    标题中的“kinect在opengframeworks开发包”是指利用微软的Kinect设备与开源的OpenFrameworks框架结合,进行互动式视觉应用的开发。OpenFrameworks是一个C++库,旨在简化艺术家、设计师和程序员进行实验性项目的编码...

    openFrameworks.Essentials.

    Create stunning, interactive openFrameworks-based applications with this fast-paced guide About This Book Generate 2D and 3D graphics with openFrameworks Create a video synthesizer project and run it...

    openFrameworks book

    4. **跨平台**:在Windows、Mac OS X、Linux、Android和iOS等多个平台上运行,具有良好的兼容性。 5. **社区支持**:拥有活跃的开发者社区,提供丰富的扩展库(addons)和示例代码,帮助用户解决具体问题。 6. **...

    Android-openFrameworks.zip

    Android-openFrameworks.zip,OpenFrasWorkS是一个社区开发的跨平台工具包,用于C 中的创造性编码。,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有...

    openFrameworks源码

    在Android开发中,openFrameworks 提供了一个跨平台的环境,使得开发者能够在Android设备上进行高性能的多媒体应用开发。它利用OpenGL ES来实现图形加速,这使得在移动平台上实现复杂的2D和3D渲染成为可能。Android...

    kinect V2 c++

    在C++环境中利用OpenFrameworks(简称ofw)进行Kinect V2的开发,可以创建出创新的交互式应用程序和艺术项目。OpenFrameworks是一个开源的C++库,为实验性的视觉艺术、互动设计和硬件编程提供了便利。 1. **Kinect ...

    Kinect-v2-for-openFrameworks

    使用 openFrameworks 运行的 Kinect v2 ## 如何使用 每个文件夹都是一个应用单元。 of_v0.8.4_vs_release \ apps \ myApps请复制到。 ##环境视窗 8.1 专业版Visual Studio 2013 Ultimate(编译器为 Visual Studio ...

    Kinect和Processing入门

    如果不想使用Processing,可以选择C++的框架如openFrameworks或Cinder,它们同样支持与Kinect的集成,提供额外的功能和更好的性能。 总之,"Kinect和Processing入门"教程旨在帮助读者理解如何利用Kinect的深度感应...

    ofxCocoa:[已弃用]已为openFrameworks 0072+修复了Memo Atken的ofxCocoa库

    Memo Atken的ofxCocoa库已针对openFrameworks 0072+进行了修复。 这与Memo在其令人惊叹的存储库中的ofxCocoa插件几乎100%相同,只是对OF的最新版本进行了一些较小的修复。 我会尝试在它们出现时添加更多示例,但是...

    Arduino-Kinect体感遥控直升飞机

    2. **软件设置**:安装Arduino IDE,下载并安装相关的库,例如Processing或OpenFrameworks用于处理Kinect数据,以及Arduino库用于处理来自Kinect的指令。 3. **Kinect数据处理**:编写Processing或OpenFrameworks...

    mastering openframeworks

    通过使用 Microsoft Kinect 等技术,他的作品变得越来越复杂和有趣。 #### 知识点六:学习路径与目标 - **学习路径**:本书旨在帮助读者逐步掌握 OpenFrameworks,从基础概念到高级应用,通过一系列实践项目加深...

    ofruby-ios:openFrameworks 遇到 mruby

    ofruby = openFrameworks + mruby。 openFrameworks 是一个用于创造性编码的开源 C++ 工具包。 mruby 是轻量级的 Ruby。 要开始,请查看 。截屏建造环境我的构建环境。 OSX 10.9.4(小牛队) Xcode 5.1.1 3.06 GHz ...

    openframeworks codeblocks_additions

    `openframeworks` 是一个开源的C++库,专为艺术家、设计师和研究人员设计,用于创建交互式图形、音频、视频和网络应用程序。它简化了跨平台开发,支持Windows、MacOSX、Linux等多种操作系统。在编程领域,特别是在...

    openframeworks书籍

    ### openFrameworks书籍知识点总结 #### 一、书籍基本信息 - **书名**:“Beyond Interaction — 媒体艺术的openFrameworks编程入门” - **作者**:田所淳、比嘉了、久保田晃弘 - **出版社**:BNN Inc. - **出版...

    Openframeworks显示中文的字体文件

    在OpenFrameworks(简称of)这个开源C++库中,开发者可以轻松创建跨平台的应用程序,包括多媒体、图形和交互设计。对于处理中文字符,OpenFrameworks提供了支持,但默认情况下可能不包含显示中文所需的字体。本篇...

    Mastering openFrameworks

    openFrameworks 基于C++,是一个跨平台的框架,支持Windows、Mac OS X、Linux、Android 和 iOS等操作系统。 本书由Denis Perevalov撰写,出版于2013年,由Packt Publishing 出版社出版。作为一本实用指南,它并不...

Global site tag (gtag.js) - Google Analytics