Processing学习 — Processing结合Kinect2实现人影互动

Processing结合Kinect2实现人影互动

  • 一:Processing介绍
  • 二:下载和安装
  • 三:Processing界面
  • 四:与Kinect2结合
    •   1;Kinect环境搭建
    •   2;下载好后,代码调用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学习 — Processing结合Kinect2实现人影互动_第1张图片

切记一定是适合自己的电脑版本呦
Processing学习 — Processing结合Kinect2实现人影互动_第2张图片

选择下载储存的位置,然后解压使用
Processing学习 — Processing结合Kinect2实现人影互动_第3张图片
Processing学习 — Processing结合Kinect2实现人影互动_第4张图片



三:Processing界面

没错,就是这个界面,很是简单
Processing学习 — Processing结合Kinect2实现人影互动_第5张图片



四:与Kinect2结合

  1;Kinect环境搭建

因为要与Kinect2互动,所以要把环境搭建出来
Processing学习 — Processing结合Kinect2实现人影互动_第6张图片
Processing学习 — Processing结合Kinect2实现人影互动_第7张图片

  2;下载好后,代码调用Kinect2,实现

1:效果,人影图
Processing学习 — Processing结合Kinect2实现人影互动_第8张图片
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软件
也是可以把写好的程序输出打包的

请详情下面的图文
Processing学习 — Processing结合Kinect2实现人影互动_第9张图片
Processing学习 — Processing结合Kinect2实现人影互动_第10张图片
2:找到自己输出的位置文件
Processing学习 — Processing结合Kinect2实现人影互动_第11张图片
Processing学习 — Processing结合Kinect2实现人影互动_第12张图片
3:这是你编写的效果已经在电脑上运行了



六:博主支持

拥有自己的服务器

让开发工作不再难

一:ESC服务器优缺点

你可能感兴趣的:(Processing)