Processing學習 — Processing結合Kinect2實現人影互動



本文提供詳細教程

記錄遇到的難點並幫助同行的朋友們

堅持以最簡單的方法傳授和把更好的閱讀體驗帶給你們!


一:Processing介紹

1:起源和簡介
Processing是一種具有革命前瞻性的新興計算機語言,它的概念是在電子藝術的環境下介紹程序語言,並將電子藝術的概念介紹給程序設計師。它是 Java 語言的延伸,並支持許多現有的 Java 語言架構,不過在語法 (syntax) 上簡易許多,並具有許多貼心及人性化的設計。Processing 可以在 Windows、MAC OS X、MAC OS 9 、Linux 等操作系統上使用。以 Processing 完成的作品可在個人本機端作用,或以Java Applets 的模式外輸至網絡上發佈。Processing的源代碼是開放的

2:用戶羣
是對科學與藝術之間的跨領域表現有興趣的人。一般的數字藝術家或設計師會以現有的軟件(例如PhotoShop、Illustrator、Flash或Director等)來從事創作,往往在不知不覺中,被大企業所主導的制式化生產工具,限制了創意及表現形式的可能性。但是如果你剛好擁有撰寫計算機語言的能力,你大可以爲了實現腦海裏的傑作,專門來打造一個能跑它的程序,如此一來,不但作品的內容是藝術,其工具,形式及創作過程本身亦是一樁藝術。



二:下載和安裝

這裏提供一個版本下載,你也可以用下面的方法下載
百度雲下載
提取碼:mqzy
Processing官網下載

在這裏插入圖片描述

切記一定是適合自己的電腦版本呦
在這裏插入圖片描述

選擇下載儲存的位置,然後解壓使用
在這裏插入圖片描述
在這裏插入圖片描述



三:Processing界面

沒錯,就是這個界面,很是簡單
在這裏插入圖片描述



四:與Kinect2結合

  1;Kinect環境搭建

因爲要與Kinect2互動,所以要把環境搭建出來
在這裏插入圖片描述
在這裏插入圖片描述

  2;下載好後,代碼調用Kinect2,實現

1:效果,人影圖
在這裏插入圖片描述
2:代碼

import KinectPV2.*;  
KinectPV2 kinect;  
PImage img;

int densityNum = 100; 
float[] x= new  float[densityNum];
float[] y= new  float[densityNum];
float[] speed = new float[densityNum];
float[] pointZ = new float[densityNum];
float[] size = new float[densityNum];
float colorNumR = 0f;
float colorNumG = 0f;
float colorNumB = 0f;

void setup() 
{   
  fullScreen(P3D);
  kinect = new KinectPV2(this);
  kinect.enableColorImg(true);    
  kinect.enableDepthImg(true);   
  kinect.enableInfraredImg(true);   
  kinect.enableBodyTrackImg(true);   
  kinect.init();
  
  
  stroke(255);
  strokeWeight(5);
  int i = 0;
  while (i < densityNum) {  
    x[i] = random(0, width);
    y[i] = random(0, height);
    speed[i] = random(1, 5);
    pointZ[i] = random(-50, 50);
    size[i] = random(4, 7);
    i = i + 1;
  }
}  
void draw() 
{   
  background(0);    
   image(kinect.getBodyTrackImage(),0, 0,width,height); 
   
  int i = 0;
  while (i < densityNum) {
    colorMode(HSB,255,255,255);
    float r = map(speed[i],1,5,0,255);
    float g = map(speed[i],1,5,0,255);
    float b = map(speed[i],1,5,0,255);
    println(60,60,60);
    stroke(r, g, b);
    strokeWeight(size[i]);
    point(x[i], y[i], pointZ[i]);
 
    y[i] = y[i] + speed[i];
    if (y[i] > height) {
      y[i] = 0;
    }
    i = i + 1;
  }
}

3:更多代碼效果文本下載
百度雲下載
提取碼:mqzy



五:程序打包輸出

1:做程序的都知道,做好的一個程序或者效果如果不能輸出,很讓人煩心的,這個藝術效果的Processing軟件
也是可以把寫好的程序輸出打包的

請詳情下面的圖文
在這裏插入圖片描述
在這裏插入圖片描述
2:找到自己輸出的位置文件
在這裏插入圖片描述
在這裏插入圖片描述
3:這是你編寫的效果已經在電腦上運行了



六:博主支持

擁有自己的服務器

讓開發工作不再難

一:ESC服務器優缺點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章