2021年11月1日 星期一

天文社社員招募中week06

 

VIDEO & CAPTURE & CAMERA


1.安裝函式


Sketch/Library/Add Library



新增Video









2.用範例程式開啟影片


File/Examples/Libraries核心函式庫
/Video/Movie/Loop







程式如下:

import processing.video.*;

Movie movie;

void setup() {
  size(560, 406);
  background(0);
  // Load and play the video in a loop
  movie = new Movie(this, "launch2.mp4");
  movie.loop();
}

void movieEvent(Movie m) {
  m.read();
}

void draw() {
  //if (movie.available() == true) {
  //  movie.read(); 
  //}
  image(movie, 0, 0, width, height);
}



3.自己寫程式開啟影片


記得要加檔案進去





程式如下:


import processing.video.*;
Movie movie;
void setup(){
  size(640,480);
  movie=new Movie(this,"launch2.mp4"); ///在自己的硬碟裡找檔案
  movie.loop();
}
void draw(){
  image(movie,0,0); 
}
void movieEvent(Movie m){
  m.read(); 
}
  





4.開啟視訊鏡頭


跑出來了(笑)

謝謝許醬






程式如下:


import processing.video.*;
Capture cam;
void setup() {
  size(640, 480);
  cam = new Capture(this, Capture.list()[0]); ///第一台攝影機
  cam.start();
}
void draw(){
  if(cam.available()){
    cam.read(); 
  }
  image(cam,0,0);
}




5.Movie Maker


按Ctrl + K 開啟他存的圖片的位置


開啟Movie Maker/複製剛剛的圖片資料夾位置



製作成影片



程式如下:


import processing.video.*;

Capture cam;

void setup() 
{
  size(640, 480);
  cam= new Capture(this, 640,480);
  cam.start(); 
}
void draw(){
  if(cam.available()){
    cam.read();
  }
  image(cam, 0,0);
  saveFrame();  ///每一秒存一個圖片
}


6.再用之前的程式開影片





程式如下:


import processing.video.*;
Movie movie;
void setup(){
  size(640,480);
  movie=new Movie(this,"my_ca.mov");
  movie.loop();
}
void draw(){
  if(movie.available()){   ///用不同方法
    movie.read();
  }
  image(movie,0,0); 
}


7.像素滑鼠按一下存檔並變色




按一下變色



按就會存檔在 Ctrl+k


程式如下:


void setup(){
  size(640,480);
  background(255,122,54);
}
void draw(){
  println(frameCount);
}
void mousePressed(){
  loadPixels();
  for(int i=0;i<640*480/2;i++)
  {
    pixels[i]=color(15,126,34);
  }
  updatePixels();
  saveFrame();
}



8.滑鼠按一下變顏色(陣列版本)





程式如下:

color []c={#FFEE4A,#FFC501,#CE982C,#CE802C,#B94027};
int now=0;
void setup(){
  size(640,480);
  background(#FFEE4A);
}
void draw(){

}
void mousePressed(){
  background(c[now]);
  now=(now+1)%5;
}
  


9.利用像素將圖片改顏色







程式如下:


import processing.video.*;
Movie movie;
color []c={#F0F0F0,#FFC501,#CE982C,#CE802C,#B94027};
void setup(){
  size(640,480);
  background(#F0F0F0);
  movie=new Movie(this,"my_ca.mov");
  movie.play();
}
void draw(){
  if(movie.available()){
    movie.read();
    image(movie,0,0); 
  }
}
void mousePressed(){
  movie.pause();
  loadPixels();
  for(int i=0;i<640*480;i++){
    float bright = brightness (pixels[i]);
    int now=4-int(bright/67);
    pixels[i]=c[now];
  }
  updatePixels();
}


完成!!!




沒有留言:

張貼留言