Tag Archives: processing

Processing / Kinect / openNI 初體驗

本篇教學整理自3D視覺專題製作:Kinect、Processing、Arduino及MakerBot一書,告訴您如何建立 openNI 這個 Kinect 函式庫,並在 Processing 環境中來進行開發。按照書中說明,本平台於Windows / MAC OSX 與 Linux 都可以架設,但我們只在 Windows 上操作,請依照下列步驟完成環境建置:(或參考OpenNI 的官方安裝說明


1. 下載 SimpleOpenNI 的 Windows打包檔, https://code.google.com/p/simple-openni/,並選擇 Windows 32位元版本。下載後請解壓縮,其中有四個檔案,請依序安裝完成

    a. 安裝 OpenNI 的安裝檔(例如 openni-win32-1.5.4.–dev.msi),一路安裝完成。

    b. 安裝 NITE middleware 的安裝檔(例如 nite-win32-1.5.4.0-dev.msi),一路安裝完成。如果要求金鑰時,請輸入0KOIk2JeIBY

    d.安裝 SensorKinect 驅動程式(例如 SensorKinect092-Bin-Win32-v5.1.2.1.msi),一路安裝完成。如果您是使用 Asus Xtion Pro也是用這個驅動程式即可。您應該會在 Windows 的裝置管理員中看到 Kinect 被辨識為Primesense 裝置的 Kinect4Windows Audio 與 Kinect4Windows Camera(下圖左)。如果是使用微軟官方的 Kinect SDK 則會被辨識為獨立的 Microsoft Kinect裝置(下圖右)。
 

           

    注意!OpenNI 1.x 版無法與微軟官方的 Kinect SDK相容,請將其移除。但如果您想要使用 OpenNI 2.0版(大改版!)的話,則需要安裝 Kinect for Windows SDK,換言之您就無法在 MAC OSX 或 Linux 下來使用 OpenNI 2.0版了。
   
2. 下載Processing IDE,目前最新版本為 Processing 2.0,下載後解壓縮即可執行 Processing.exe。

3. 安裝 OpenNI for Processing 函式庫。請下載 SimpleOpenNI 在 Google code 下載清單中的 SimpleOpenNI-0.27.zip,下載之後解壓縮,並將其中的 SimpleOpenNI 資料夾(內有 documentation、examples與 library三個資料夾)放到 Processing 的sketch location(預設位置是在<我的文件>/Processing/libraries)。如順利載入,則可在 Processing 的 Files/ Examples… 選單的最下方看到 SimpleOpenNi資料夾,這時您就可以自由來玩玩看各個範例了!

                    


4. 您的第一隻Processing / Kinect 程式:

import SimpleOpenNI.*;
SimpleOpenNI kinect;

void setup(){
    size(640*2, 480);
    kinect = new SimpleOpenNI(this);
    kinect.enableDepth();
    kinect.enableRGB();
}

void draw(){
    kinect.update();

    image(kinect.depthImage(), 0, 0);
    image(kinect.rgbImage(), 640, 0);
}


執行畫面:

左側為深度圖,右側為一般的圖檔,皆為動態顯示。


[實用級好書] 3D視覺專題製作:Kinect、Processing、Arduino及MakerBot

這本書相當地有份量,裡頭不是用微軟的 Kinect SDK 而是用 openNI 搭配 Processing,算是容易架設功能又強大的選擇。順道一提,openNI 也能搭配ASUS 的 WAVI Xtion (根據內文來看,硬體規格比 Kinect 燒差)來用,算是另一個選擇

歡迎延伸閱讀 CAVE 的 Processing 討論串實驗室

http://www.books.com.tw/exep/prod/booksfile.php?item=0010585421

作者:Greg Borenstein
譯者:蔣大偉
出版社:歐萊禮
出版日期:2013年05月06日

這是一本詳細的實作指南,想要利用微軟的 Kinect(這是一台讓電腦能夠看見的體感裝置)建立酷炫應用的人,可以從本書獲得必要的技術和概念。本書將通過六個內容充實的專題,讓你學會如何為軟 體建立手勢介面、使用動作捕捉(motion capture)技術建立有趣的 3D 互動遊戲、為客製化製造(custom fabrication)使用 3D 掃描,以及許多其他應用。

  本書非常適合業餘愛好者、製作者、藝術家和玩家閱讀,書中會介紹如何以現成的廉價工具(包括開源的 Processing 程式語言以及 Arduino 微控制器)來完成每個專題。你在本書所學到的基本技能,將可讓你利用 Kinect 建構出與眾不同的作品。

  閱讀本書,你將能夠:
  .在 Mac OS X、Windows 或 Linux 上開發 Kinect 的應用
  .使用姿勢偵測(pose detection)與骨架化(skeletonization)技術來追蹤影像中的人體,以及使用區塊追蹤(blob tracking)技術來偵測物體
  .分析及操作點雲(point clouds)
  .利用 3D 掃描技術為設計及製造建立模型
  .利用 MakerBot、RepRap 或 Shapeways 印刷出 3D 物體
  .瞭解動畫和遊戲的動作追蹤(motion tracking)技術
  .建構一個簡單的機器人手臂,可以模擬你的手臂的動作
  .瞭解技藝高超的藝術家如何利用 Kinect 建構出引人入勝的作品

作者簡介

Greg Borenstein

  作者的工作是研究如何以特殊效果做為藝術表達的媒介,他是個藝術家及老師,並且是紐約大學互動電子通訊研究所的駐地研究員。Greg 醉心於跨越影像與實務界線的特效技術。

前言
chapter 01 Kinect 是什麼?
chapter 02 深度影像
chapter 03 點雲
chapter 04 骨架資料
chapter 05 為數位製造進行掃描
chapter 06 利用 Kinect 操縱機器人
chapter 07 總結:下一步該如何?
附錄
索引

CAVE 2013 六月與暑期研習一覽

各位師長與好朋友們,CAVE 從今年三月開始於每週日都針對不同的機器人或數位互動 DIY 專題舉辦研習,期待您的參與。今年暑假更是在每週三加開許多場次,如果您週末沒空,也可以考慮周間的場次。

另外我們也歡迎各縣市的學校與我們一同推廣,如果您有這樣的想法,或想要另外敲時間包班,請隨時與我們聯絡 02 2306 2900 / service@cavedu.com 期待有機會到   貴校/貴單位與大家一同分享。

以下是我們的研習主題,直接點選各連結即可到報名頁面:

6/23:LabVIEW 高階圖控介面結合 Arduino 研習營

7/3(三):LabVIEW 高階圖控介面結合 Arduino 研習營
7/7(日):Raspberry Pi 嵌入式開發板研習營
7/10(三):Google 雲端 API應用與機器人控制研習營
7/14(日):樂高數位繪圖研習營
7/17(三):Google Android ADK / Arduino 機器人研習營
7/21(日)Arduino 結合樂高機器人研習營
7/24(三):Raspberry Pi 嵌入式開發板研習營
7/28(日):Google 雲端 API應用與機器人控制研習營
7/31(三):Java物件導向與機器人控制研習營

8/4(日):Google Android ADK / Arduino 機器人研習營
8/7(三):LabVIEW 高階圖控介面結合 Arduino 研習營
8/11(日):Arduino藍牙遙控機器人研習營
8/14(三):Raspberry Pi 嵌入式開發板研習營
8/18(日):Raspberry Pi 嵌入式開發板研習營

請點選下圖到 CAVE的活動公布欄觀看更多資訊與已經辦理的活動照片:

[活動照片]3/10:LabVIEW 高階圖控介面結合 Arduino 研習營   
[活動照片]3/17:Arduino 藍牙遙控機器人營隊
3/24:Scratch 結合 Arduino 趣味研習營
[活動照片]3/31:Arduino 與樂高NXT機器人研習營
[活動照片]4/14:Raspberry Pi 嵌入式開發板研習營
[活動照片]4/21:Processing 互動媒體結合 Android 智慧型手機研習營
[活動照片]4/28:Scratch 結合 Arduino 趣味研習營
[活動照片]5/05:Raspberry Pi 嵌入式開發板研習營

130507 國北教大數資系 Processing/Arduino 互動專題課程

很快地,國北教大數資系 Processing/Arduino 互動專題課程來到第三周啦,今天是要在 Processing 中取得 Arduino 的可變電阻狀態,藉此控制畫面上的方塊左右移動。

推薦 Cooper Maa 的專業 Arduino 與程式設計開發部落格:http://coopermaa2nd.blogspot.tw/2011/03/firmata-processing-arduino.html

數資系的同學在程設的基礎都不錯,上課進度相當好,氣氛也還不錯呢。畢竟互動的課程,也要把師生互動算進去唷!

大家一起來剝線

回家作業,大家要加油唷!

下次要換把 Arduino 感測器值透過藍牙送到 Android 手機上囉!

一玩Processing就愛不釋手

還記得之前有發過一篇用Gadgeteer做一個畫筆程式的文章嗎?

今天在練習Processing的時候,隨心所欲的翻翻File>Examples裡的有趣範例,赫然發現一個令我大吃一驚的程式:”CountinuousLines”!

程式碼如下:

void setup() {
  size(640, 360);
  background(102);
}

void draw() {
  stroke(255);
  if (mousePressed == true) {
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
}
Processing 根據滑鼠游標畫線

 


不用懷疑,真的只有這樣!當下覺得晴天霹靂,以互動性高及程式簡單的Gadgeteer竟然輸了,其實應該說是C#輸了,Gadgeteer畢竟是靠實體互動取勝,而且還要控制模組!

點選Processing中的Help>Reference就有超級詳盡的程式教學,每一個教學都有完整範例可以快速複製貼上,馬上看程式的執行效果。


而且還有很可愛的程式,看起來很療癒吧~  裡面的圓形都是動態的Processing有興趣的話,請點我下載資料

 這邊也有教學投影片,上述的資料就是配合這份投影片來使用  



在Processing 中新增函式庫很方便

「回顧」[Processing][Android] 如何讓您的Processing安裝到 Android手機?

[Processing 初體驗 – 結合Android手機]

在 Arduino 中如果要新增函式庫,您需要將所要新增的函式庫手動放到 /libraries 資料夾下,有點麻煩…

在Processing 中就不用這樣了,只要依照下列步驟操作即可:

1. 在 Sketch–>Import Library 中選擇「Add Library…」

2. 會跳出 Library Manager 視窗,您可從中看到所有可下載的函式庫

3. 直接點選或輸入您要想搜尋的關鍵字,例如opencv (視覺辨識函式庫)。找到之後直接按「install」即可

4. 安裝完畢之後您就可在Processing -> Examples 下看到 OpenCV的範例了,直接點選就可開啟使用唷

Rapid Android Development: Build Rich, Sensor-Based Applications with Processing

官網(可下載所有範例程式原始碼):http://pragprog.com/book/dsproc/rapid-android-development

書名:Rapid Android Development: Build Rich, Sensor-Based Applications with Processing

預計上市:2013/03/05

內容:

With more than 30 ready-to-run demos, applications, and games, you’ll find yourself diving deeper than you thought possible into the treasure trove of software and hardware packed into today’s Android devices. You’ll learn how to:

Access the Android touch screen, keyboard, and gestures to create eye-popping user experiences. 存取Android的觸碰螢幕、鍵盤與手勢等

Tap into Android’s on-board sensors for orientation, location, motion, geolocation, and more to build environment-aware applications. 存取感測器狀態,包括姿態、GPS、動作等

Use Android’s built-in networking devices to access the Internet, network with nearby Android devices, and interact with NFC-formatted RFID tags. 取用Android Wifi 功能,並透過NFC來存取 RFID標籤

Create OpenGL accelerated 2D and 3D graphics. 建立 OpenGL 加速的 2D/3D 圖像

Integrate camera images, video, and face-detection into your mobile apps. 整合相機的影像、照相與臉部辨識功能

Take selected apps cross-platform with new Processing support forHTML 5 and JavaScript.

CAVE 2013 五月六月研習一覽

CAVE 六月份研習公告囉,快點選連結來報名吧。

5/26:Emotiv腦波量測儀結合機器人控制研習營

6/02:Raspberry Pi 嵌入式開發板研習營

6/09: Google Android ADK / Arduino 機器人研習營

6/15(六):Arduino Xbee無線遙控機器人研習營

6/23:LabVIEW 高階圖控介面結合 Arduino 研習營

7,8 月活動密切準備中

========================================================

[活動照片]3/10:LabVIEW 高階圖控介面結合 Arduino 研習營   

[活動照片]3/17:Arduino 藍牙遙控機器人營隊

3/24:Scratch 結合 Arduino 趣味研習營

[活動照片]3/31:Arduino 與樂高NXT機器人研習營

[活動照片]4/14:Raspberry Pi 嵌入式開發板研習營

[活動照片]4/21:Processing 互動媒體結合 Android 智慧型手機研習營

[活動照片]4/28:Scratch 結合 Arduino 趣味研習營

[活動照片]5/05:Raspberry Pi 嵌入式開發板研習營

[Processing][Android] 如何讓您的Processing安裝到 Android手機?

先前文章回顧:[Processing 初體驗 – 結合Android手機]

Processing 的 Android wiki:http://wiki.processing.org/w/Android

上圖就是將 Processing 程式直接透過 Processing IDE 安裝到 Android 手機(模擬器)。

如果您想要將 Processing 的互動小程式安裝到 Android 手機上的話,只需要以下步驟就可以了:

1. 取得 Processing (http://processing.org/),下載後解壓縮找到 Processing icon 點擊就可以開啟 Processing IDE。

2. 取得 Android SDK(http://developer.android.com/sdk/index.html),下載後解壓縮即可。

3. 在  Processing 中指定 Android SDK 資料夾後,即可切換到 Android 模式。頁面的顏色會變成草綠色。

4. 直接點選左側的[Run on Device] ,Processing 會以實體Android裝置優先安裝,如果沒有的話則啟動模擬器(需使用 Android AVD Manager 新增模擬器唷!)。

    還提供了 Export Android Project 將這個Processing 程式匯出成Android專案,可在 Eclipse中開啟後新增更多有趣的功能。

5. 如果您要安裝在實體的Android裝置上,請確認您的Android裝置已開啟相關權限,電腦上也安裝了對應的驅動或同步程式。教學:http://www.appinventor.tw/phone

12/07/28 北科大互動媒體研究所 App Inventor機器人研習

延續上周7/21的App Inventor研習課程第一天, 今天的課程內容是App Inventor實際裝載在Android裝置上後, 針對觸碰, 感測器, TexttoSpeech, 語音辨識以及藍牙通訊等功能的介紹。

感謝王聖銘老師的大力支持, 之後期待可以看到App Inventor結合Arduino / Processing在互動媒體方面有更多有趣的應用。 也請各位朋友多多使用App Inventor中文學習唷!

QRCode二維條碼輕鬆做。


當然也有demo 在Android裝置上實際運作Processing的範例, 又快又簡單。

最近的天空都藍得不像話, 隨手拍一張留紀念

07/21 App Inventor研習@北科大互動媒體設計研究所

今天CAVE教育團隊到北科大互動媒體設計研究所和碩班的同學來辦理App Inventor研習, 感謝王聖銘老師的邀請。 王老師的團隊在使用Android手機 + Arduino / Processing 進行各種互動媒體/ 藝術於生活上的應用。

王老師居高臨下, 所以大家都很認真(呵呵)

Processing 初體驗 – 結合Android手機

Processing 互動程式初體驗 –

1. 手指頭接觸點會有一個白色小圓圈, 畫面中的正方形會隨著手指頭移動而旋轉。
boxRotation += (float)(pmouseX – mouseX)/100;
rotate(boxRotation);
rect(0, 0, 150, 150);

2. 觸碰點與畫面中心連線, line(width/2, height/2, mouseX, mouseY);

3.背景顏色也會隨著坐標而改變 background(mouseX * (255.0/800), mouseY * (255.0/280), 0);

要轉換到Android上執行只要切換到Android mode就好了, 電腦上必須要有Android SDK, 並裝好您Android手機的driver就可以了。 相當輕鬆。


================================================================

float boxRotation = 0;

void setup(){
size(480, 800);
smooth();
stroke(255);
fill(255);
rectMode(CENTER);

};

void draw(){
background(mouseX * (255.0/800), mouseY * (255.0/280), 0);
boxRotation += (float)(pmouseX – mouseX)/100;

line(width/2, height/2, mouseX, mouseY);
ellipse(mouseX, mouseY, 40, 40);
pushMatrix();
translate(width/2, height/2);
rotate(boxRotation);
rect(0, 0, 150, 150);
popMatrix();
};

[好書推薦]Prototyping Lab「邊做邊學」,Arduino的運用實例

CAVE大推薦的Arduino實用書出版了! 由日本Arduino資深玩家小林茂先生的Arduino連載集結成冊, 由許郁文先生所翻譯。 是一本非常完整的Arduino範例書。

特點: 所有範例都有Arduino, Processing與 ASP的範例程式。 8個chapter共38個範例, 一次滿足最多玩家的需求, 歡迎現在就和我們訂購。

http://www.books.com.tw/exep/prod/booksfile.php?item=0010550967

作者:小林茂   譯者:許郁文

出版社:馥林文化

出版日期:2012年07月16日


第Ⅰ部:簡介
第1章 開始打造「原型」
第2章 建構開發環境
第3章 電子線路的基礎知識與最初的一步
第4章 Arduino 實驗教學

第II部:運用實例
第5章 輸入
第6章 輸出
第7章 資料處理
第8章 進階實例

附錄
附錄A 問題處理
附錄B 參考資訊