作者 主题: processing如何实现镜像输出功能  (阅读 6442 次)

bzn001

  • Newbie
  • *
  • 帖子: 13
processing如何实现镜像输出功能
« 于: 五月 04, 2012, 02:35:56 下午 »
processing如何实现镜像输出功能,知道的指点一下,谢啦,通过一个processing程序实现了摄像头的延时输出功能,可以没有实现镜像的功能,本人觉得延时输出后,如果能像照镜子一样效果会更好一点
« 最后编辑时间: 五月 04, 2012, 03:31:05 下午 作者 bzn001 »

Contra

  • SuperManager
  • Sr. Member
  • *****
  • 帖子: 347
  • AC, game dev, new media art&tech.
    • i'm Contra
Re: processing如何实现镜像输出功能
« 回复 #1 于: 五月 04, 2012, 03:19:22 下午 »
最好给出效果示意图,方便大家理解。ps里手绘都行

ChocolateUniverse

  • Jr. Member
  • **
  • 帖子: 97
  • BigQ 勤劳勇敢,爱好艺术
Re: processing如何实现镜像输出功能
« 回复 #2 于: 五月 04, 2012, 03:27:48 下午 »
processing如何实现镜像输出功能,知道的指点一下,谢啦

请将问题描述的清楚一点.http://www.beiww.com/doc/oss/smart-questions.html
BigQ 勤劳勇敢 爱好艺术

duocool

  • Newbie
  • *
  • 帖子: 5
Re: processing如何实现镜像输出功能
« 回复 #3 于: 五月 04, 2012, 09:11:08 下午 »
没记错的话摄像头延时也是我先发这上面的吧,巧的是,我这笔记本的摄像头视频是反的,而且自带的驱动没有镜像功能 ,

我以前做了一个镜像程序,不过是以前的基于以前的的1.5

改点代码就可以支持2.0,感觉没有镜像之前流畅,不过尚可接受。

下面是以前博客的内容:

size的模式可以选 P3D或OPENGL比较发现P3D有时对角线有条线,就选了OPENGL,
关键的语句是  translate(640,0) 原点设定,translate 在3D模式是可以有三个参数的,(x,y,z)
              rotateY(radians(180)),绕某轴旋转 

脚本如下,对视频文件,图像文件的镜像处理也很类似。 如要对不同的对象分别设原点和旋转就要用到pushMatrix(),popMatrix()这对矩阵语句了。可以做出相当花哨的玩意。



import processing.opengl.*;
import processing.video.*;
Capture video;
color findColor;
void setup(){
  size(640,480,OPENGL);
  background(0);
  smooth();
  video=new Capture(this,width,height,30);//初始化摄像头
  }
void draw(){
  if(video.available()){
    video.read();//
  }
  //pushMatrix();
  translate(640,0);  //设原点
  rotateY(radians(180));//以原点Y轴转180度
  image(video,0,0);
 // popMatrix();
}


地址: http://blog.sina.com.cn/s/blog_71c449bd0100tirr.html

附件是略改过的2.0的文件,试过,很正常,再也用不着quicktime和那第三方的视频库了
« 最后编辑时间: 五月 04, 2012, 09:25:24 下午 作者 duocool »

RavenKwok

  • Sr. Member
  • ****
  • 帖子: 277
  • Artist/ Animator/ Coder/ Cynical Asshole
Re: processing如何实现镜像输出功能
« 回复 #4 于: 五月 05, 2012, 09:01:30 下午 »
楼上方法简单易懂,但执行速度没有直接操作像素来的快。

可以把影像作为像素阵列,而后每一行get 一列的像素颜色,set 到(总列数-1-该列)的位置即可,如下:

color c = cam.get(j,i);
set(width-1-j,i,c);

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
Re: processing如何实现镜像输出功能
« 回复 #5 于: 五月 05, 2012, 11:31:47 下午 »
理论上矩阵操作要快,因为是gpu加速,所有数据都存储在显卡上
至于p5实现上到底如何要测试才知

bzn001

  • Newbie
  • *
  • 帖子: 13
Re: processing如何实现镜像输出功能
« 回复 #6 于: 五月 07, 2012, 09:11:13 上午 »
非常感谢大家的热情指点,嗯,嗯,嗯,的确是看了你的程序duocool,再次感谢

Tags: