如何用Processing語言編寫KinectV2交互程序?

Taiji_騰訊視頻 https://v.qq.com/x/page/w0124t5zc3o.html

上面是我用Kinect 1做的作品

背景知識

1. Processing是幹嘛的?藝術家學編程能做什麼?

2. Kinect是什麼?一款RGBD感測器,也可以說是顏色+深度攝像頭,可以識別人體,並且自動根據人體比例實時計算出不是那麼精確但是可以接受的各個關節的運動數據,也可以抓取人的輪廓。

3. Macbook如何安裝windows為第二系統,具體步驟

下載好所需的Win10鏡像文件,插上一個最小8G容量的U盤。 打開Boot Camp助理

Finder文件夾窗口,屏幕頂部任務欄Go去往,Utilities使用工具,Boot Camp Assistant助理

選擇一下win10鏡像文件,下一步,等待重啟,按照提示設置在格式化bootcamp盤,下一步進行安裝,設置用戶名密碼之類亂七八糟的,等待安裝完畢。

第一次進入win10會自動安裝Boot camp驅動程序

重啟按alt鍵,選擇進去mac系統

System Preference系統偏好設置里StartUp Disk啟動磁碟里設置開機自動進入哪個系統

安裝完畢

4. Spout 不同的程序在顯存里傳輸和共享畫面的技術,開源免費,Mac上類似的技術是Syphon

必須的軟硬體

1 安裝了win10系統並且有usb3.0介面的電腦一台

2 安裝WIndows Kinect SDK 2.0

3 Kinect V2 感測器+電源線一台

4 Processing 3.3 for Win 64bit,放在C盤ProgramFIles里,運行Processing.exe然後退出

5 KinectV2函數庫,解壓縮後放到Document,Processing,libraries文件夾里

本文中教學案例所需軟體

1 Spout函數庫,安裝方法同上

2 Resolume Arena 軟體

以上提到的除了Win10鏡像外所有文件的網盤地址:pan.baidu.com/s/1geFIDf

Win10 Creator 64 bit 旗艦版鏡像(官方原版鏡像,請支持正版): pan.baidu.com/s/1miHQBQ

代碼:

import KinectPV2.*;nimport spout.*;nnKinectPV2 kinect;nnSpout spout;nnvoid setup() {n size(512, 424);n //初始化一個有Spout功能的對象n spout = new Spout(this);n //設置這個對象的名稱n spout.createSender("Processing Kinect");nn nn //初始化一個包含對kinect各種操作的對象n kinect = new KinectPV2(this);n //開啟這個對象的剪影追蹤功能n kinect.enableBodyTrackImg(true);n //讓這個對象開始工作n kinect.init();n}nnvoid draw() {n //獲取這個對象追蹤的剪影,並且繪製在畫布上n image(kinect.getBodyTrackImage(), 0, 0);n //把程序畫面共享出去給其他也有Spout功能的程序使用n spout.sendTexture();n}n

運行程序,是白色背景,一旦識別到人(kinect2別離人太近),會有一個黑色的剪影

打開Arena Resolume

右邊Sources,Spout,往上拖拽到第一行隨便找個格子,滑鼠點擊

Sources旁邊是effects,挑選喜歡的後期效果拖拽到左邊,可以對Processing發過來的畫面進行二次處理

Arena可以看做一個實時的AE,也是圖層式的操作,Processing發過來的畫面佔了一個圖層,其他圖層可以拖拽進去圖片和視頻

Arena窗口頂部工具欄Output,可以把影像全屏輸出出去

Effects也可以疊加使用

不用謝,玩的開心~

附上我準備這篇教程時候做出來的最終結果

新媒體藝術和技術問題諮詢業務

請聯繫微信:Tealeaf

備註:諮詢


推薦閱讀:

人真的可以脫離地心引力懸浮在空氣中嗎?
Processing繪製音頻線motion
Live 內容與總結 —— 聊聊當代藝術里的高科技
「鯉躍龍門」互動藝術裝置,你是否願做那條逆流勇進的「鯉魚」?
在人人都能成為傳播者的今天,媒體的存在價值在哪裡?媒體從業者應該具備怎樣安身立命的本領?

TAG:Processing编程语言 | Kinect | 新媒体艺术 |