顯示具有 Week05 標籤的文章。 顯示所有文章
顯示具有 Week05 標籤的文章。 顯示所有文章

2021年11月6日 星期六

week05

 
1 利用movie插件 讀入mp4檔案

2 利用processing video函式庫開啟鏡頭權限 

並將影片每幀儲存 選取 工具-圖片建出影片導出影片


3 將導出的影片讀入


4 初始畫面是紅色且邊記錄每幀圖像次序 當滑鼠按下後

當下圖像將轉為綠色並儲存


5 原為滿屏影像 現在按下後儲存圖像為紅綠各半格

6 利用陣列儲存顏色色號 當滑鼠按下後將依序更改顏色

7 結合本次所學 將鏡頭記錄的影像導入 當滑鼠按下後將更改像素顏色



         





2021年11月2日 星期二

橘貓(互動技術筆記_week05)

WEEK05(影像處理) 

1.video loop














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();
}

2.視訊鏡頭

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);
}

3.儲存影像

void draw()
{
  if(cam.available())
  {
    cam.read();
  }
  image(cam, 0,0);
  saveFrame();
}

4.循環播放

void draw()
{
  if(movie.available())
  {
    movie.read();
  }
  image(movie,0,0);
}

5.Pixel

void setup()
{
  size(640,480);
  background(255,0,0);
}
void draw()
{
  println(frameCount); //算影格數
}
void mousePressed()//滑鼠點擊時
{
  loadPixels();
  for(int i=0;i<640*480;i++)//填滿整個畫布的影格
  {
    pixels[i]=color(0,255,0);//改成綠色
    
  }
  updatePixels();
  saveFrame();
}

6.改色

color[] c= {#F0F4F7,#FBEA38,#F1C936,#EE963C,#121121};
int now=0;
void setup()
{
  size(640,480);
  background(#F0F4F7);
}
void draw()
{

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

7.影片改色

import processing.video.*;
Movie movie;
color[] c= {#F0F4F7,#FBEA38,#F1C936,#EE963C,#121121};
int now=0;
void setup()
{
  size(640,480);
  background(#F0F4F7);
  movie=new Movie(this,"my_cam.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();
}

2021年11月1日 星期一

week05

 一.

1.安裝video的函式庫



2.使用範例



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(); 
}



二.
程式碼:
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);
}

找到鏡頭了!!

程式碼:
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();///儲存影像
}

三.
程式碼:
void setup(){
   size(640,480); 
   background(255,0,0);
}
void draw(){
  println(frameCount);
}
void mousePressed(){
   loadPixels();
   for(int i=0;i<640*480/2;i++){
      pixels[i]=color(0,255,0); 
   }
   updatePixels();
   saveFrame();
}



四.
1.上傳程式碼到github


2.
程式碼:
color [] c ={#F0F0F0,#FFF160,#FFC501,#FE9600,#03001C};
int now=0;
void setup(){
   size(640,480);
   background(#F0F0F0);
}
void draw(){
  
}
void mousePressed(){
   background(c[now]);
   now=(now+1)%5;
}



























兔寶寶的筆記 - Play Video、Web Cam (W05)

 Week 05 - Play Video

1-1 安裝並執行Video 

在引用程式碼的地方搜尋Video
並下載P語言適用的:The Processing Foundation版本

安裝成功會出現綠色勾勾

1-2 使用Video函示庫 

在範例程式打開
找到Libries的Vedio
執行看看Movie > Loop檔案中的影片


執行後會順利跑出影片

1-3 試看看

打開新視窗
利用Loop的範例程式自己試看看能不能執行影片
注意:檔名是否有誤

最後對比看看左邊為範例程式,右邊為新視窗的結果

2-1 連接 Web Cam 可以開啟視訊鏡頭

打開 Capture > Getting Started Capture 範例程式
執行後可以開啟鏡頭
注意:檢查鏡頭是否有被鎖住or使用

2-2     

執行後就可以出現視訊畫面

2-3 Save存檔


增加一行 SaveFrame( );
將視訊存取成影片
存取的每張Frame都會被放在資料夾
Ctrl+K 開啟檔案位置


3-1 播放剛剛存檔的影片

Movie Maker選擇檔案位置
將Frame轉成mov檔

被存在桌面的mov檔命名為my_webcam.mov
試著開啟存好的視訊影片檔

3-2 Pixels





4-1 GitHub Halloween Color


取得下面  5  個 Halloween 顏色



點一下會換顏色

4-2 結合Video 與 Pixels,讓影片像是套用 Halloween 特效



import processing.video.*;
Movie movie;///宣告變數movie
///GitHub Hallowen Color : #EEEEEE #FFEE4A #FFC501 #FF9600 #03001C
color [] c = {#EEEEEE, #FFEE4A, #FFC501, #FF9600, #03001C};
int now =0 ;
void setup(){
  size(640, 480);
  movie = new Movie(this, "cat.mp4");
  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();
}


鴨力山大week05

 


開啟processing去程式素描本安裝函式庫,去下載video


file-範例-video-movie-loop 然後執行




記得把影片先丟進去,然後打程式

import processing.video.*;
Movie movie;
void setup() {
  size(560, 406);
  movie = new Movie(this, "launch2.mp4");
  movie.loop();
}
void draw(){
  image(movie,0,0);
}
void movieEvent(Movie m){
  m.read();
}


先叫出GettingStartedCapture



import processing.video.*;
Capture cam;
void setup()
{
 size(640,480);
 String[] cameras = Capture.list();
 for(String name : cameras)
 {
   println(name);
 }
}






因為我的攝影機出了一點狀況,可能要換電腦或是重新啟動才可能會成功執行,為了跟上課程所以就先繼續上課
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);
}






多一行程式碼,存取連續照片,記得複製此資料夾的位置
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();
}

把圖片存成影片檔,貼上剛剛複製的位置,存在桌面


import processing.video.*;//先裝好 Video Library
Movie movie;

void setup()
{
  size(640,480);
  movie = new Movie(this, "my_webcam.mov");
  movie.loop();
}//要在我的硬碟的目錄裡面,開launch2.mp4檔
void draw()
{
  image(movie,0,0);
}
void movieEvent(Movie m)
{
  m.read();
}

下面是第二種方式
import processing.video.*;//先裝好 Video Library
Movie movie;

void setup()
{
  size(640,480);
  movie = new Movie(this, "my_webcam.mov");
  movie.loop();
}//要在我的硬碟的目錄裡面,開launch2.mp4檔
void draw()
{
  if(movie.available())//第2種方法
  {
    movie.read();//第2種方法
  }
  image(movie,0,0);
}
//void movieEvent(Movie m)
//{
//  m.read();
//}



原本是紅色,點一下滑鼠會變成一般紅色一半綠色

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


import processing.video.*;
Movie movie;
color[]c={#F0F0F0,#FFF160,#FFC501,#FE9600,#03001C};

void setup(){
  size(640,480);
  
  movie = new Movie(this,"my_webcam.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();
}