美文网首页
processing处理视频-练习

processing处理视频-练习

作者: 思求彼得赵 | 来源:发表于2022-04-25 00:32 被阅读0次

2022-04-24
在测试程序时,如果提示没有库的话,就需要下载之。


image.png

参考:processing关于处理视频的教程。
https://blog.csdn.net/zd623949282/article/details/107346574
这还是代码本色作者的功劳。

    1. 基本的例子:

//步骤 1.导入视频库。
import processing.video.*;
//步骤 2.声明捕获对象。
Capture video;
//步骤 5.当有新图像可用时,从相机读取!
void captureEvent(Capture video) {
  video.read();
}
void setup() {  
  size(320, 240);
  
  // 步骤 3.初始化捕获对象。
  video = new Capture(this, 320, 240);
  
  //步骤 4.开始捕获过程。
  video.start();
}
//步骤 6.显示图像。
void draw() {  
image(video, 0, 0);//参数是指左上角位置。
}
 
 
image.png
    1. 可以用 PImage 做任何事情 (调整大小、着色、移动等)。)
      你可以用捕获对象做。只要您从该对象中读取 (),视频图像将在您操作时更新。
import processing.video.*;
Capture video;
void setup() {
  size(320, 240);  
  video = new Capture(this, 320, 240); 
  video.start();
}
void captureEvent(Capture video) {  
  video.read();
}
void draw() {  
  background(255);  
  tint(mouseX, mouseY, 255);  
  translate(width/2, height/2);  
  imageMode(CENTER);  
  rotate(PI/4);  
  image(video, 0, 0, mouseX, mouseY);
}

image.png
    1. 可以用处理像素的方式来显示。这个很有修改。可以更自由地处理了。

//步骤 1。导入视频库
import processing.video.*;
//步骤 2。声明捕获对象
Capture video;
void setup() {  
  size(320, 240);  
  
  //步骤 3.通过构造函数初始化捕获对象
  video = new Capture(this, 320, 240);  
  video.start();
}
  
// 新帧可用时的事件
void captureEvent(Capture video) {  
  // 步骤 4.从相机读取图像。
  video.read();
}
void draw() {
  loadPixels();
  video.loadPixels();  
  for (int x = 0; x < video.width; x++) {    
    for (int y = 0; y < video.height; y++) {      
      // 从 2D 网格计算 1D 位置
      int loc = x + y * video.width;      
    
      // 从像素中获取红色,绿色,蓝色值 
      float r = red  (video.pixels[loc]);      
      float g = green(video.pixels[loc]);      
      float b = blue (video.pixels[loc]);      
      
      //计算基于接近鼠标来改变亮度的数量 
      float d = dist(x, y, mouseX, mouseY);      
      float adjustbrightness = map(d, 0, 100, 4, 0);      
      r *= adjustbrightness;      
      g *= adjustbrightness;      
      b *= adjustbrightness;      
      
      // 约束 RGB 以确保它们在 0-255 颜色范围内
      r = constrain(r, 0, 255);      
      g = constrain(g, 0, 255);      
      b = constrain(b, 0, 255);      
    
      // 创建新颜色并在窗口中设置像素    
      color c = color(r, g, b);      
      pixels[loc] = c;    
    }  
  }  
 
  updatePixels();
}

image.png

相关文章

网友评论

      本文标题:processing处理视频-练习

      本文链接:https://www.haomeiwen.com/subject/trqxyrtx.html