作者 主题: 无法同时显示三个摄像头的画面  (阅读 3933 次)

bzn001

  • Newbie
  • *
  • 帖子: 13
无法同时显示三个摄像头的画面
« 于: 四月 28, 2012, 11:12:12 上午 »
出现了几个问题想请教大侠:1、三个摄像图片只有一个显示摄像内容,其他两个黑色(有没有什么方法,让三个都能显示相同的内容)
2、processing程序那个函数可以实现拍照
请大家多多指导,新手啦,以后学习的过程中还会麻烦大家滴


import processing.video.*;

Capture video1;
Capture video2;
Capture video3;
float x1;
float y1;
float s1=0.3;
 float x2;
 float y2;
 float s2=0.5;
 float x3;
 float y3;
 float s3=1.0;
 
float video_x1;
float video_y1;
float video_s1=0.5;
float video_x2;
float video_y2;
float video_s2=0.7;
float video_x3;
float video_y3;
float video_s3=0.8;

void setup(){
  size(600,400,P2D);
 
video1 = new Capture(this,400,300);
video2 = new Capture(this,400,300);
video3 = new Capture(this,400,300);

  imageMode(CENTER);
   rectMode(CENTER);
  stroke(1);
  strokeWeight(6);
  smooth();
}
void draw(){
 
  background(255,123,22);

 if(video1.available()){
   video1.read();
 }
 if(video2.available()){
   video2.read();
 }
 if(video3.available()){
   video3.read();
 }
 //rect1
 if(x1>600){
   x1=0;
   y1=random(0,height);}
   x1=x1+s1;
   fill(255,0,0);
   rect(x1,y1,200,150);
   //rect2
    if(x2>600){
   x2=0;
   y2=random(0,height);}
   x2=x2+s2;
   fill(0,255,0);
   rect(x2,y2,200,150);
   //rect3
    if(x3>600){
   x3=0;
   y3=random(0,height);}
   x3=x3+s3;
   fill(0,0,255);
   rect(x3,y3,200,150);
   //video1

if(video_x1>600){
video_x1=0;
video_y1=random(0,height);}
video_x1=video_x1+video_s1;
 image(video1,video_x1,video_y1,200,150);
 
 //video2
 if(video_x2>600){
video_x2=0;
video_y2=random(0,height);}
video_x2=video_x2+video_s2;
 image(video2,video_x2,video_y2,240,180);
 //video3
 if(video_x3>600){
video_x3=0;
video_y3=random(0,height);}
video_x3=video_x3+video_s3;
 image(video3,video_x3,video_y3,280,210);
}
 
« 最后编辑时间: 四月 28, 2012, 11:17:17 上午 作者 vinjn »

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
http://processing.org/reference/libraries/video/Capture.html

使用Capture.list() 可以知道每个摄像头的名称(name)

然后初始化摄像头的时候使用
video1 = new Capture(this,400,300, name1);
video1 = new Capture(this,400,300, name2);
video1 = new Capture(this,400,300, name3);



bzn001

  • Newbie
  • *
  • 帖子: 13
谢谢啊,回复这么快,帖子不小心发了两个,能帮忙删一个吗

vinjn

  • SuperManager
  • Hero Member
  • *****
  • 帖子: 586
Re: 无法同时显示三个摄像头的画面
« 回复 #3 于: 四月 28, 2012, 11:19:08 上午 »
提问的标题要有意义,警告一次
请阅读提问的智慧
http://www.hudo.it/index.php/topic,115.0.html

bzn001

  • Newbie
  • *
  • 帖子: 13
Re: 无法同时显示三个摄像头的画面
« 回复 #4 于: 四月 28, 2012, 12:03:32 下午 »
刚出来冒问题就被警告了, :-X,谁让咱是新手第一次上路呢,你的警告很有意思,还是受教了,以后会注意措辞。
你给我的那个链接我看了,Capture list()是电脑连接多个摄像头时用到的,我的问题是就连接一个摄像头,屏幕上的三个画面都显示它的内容,还有就是那个函数可以实现拍照功能,指点一下

bzn001

  • Newbie
  • *
  • 帖子: 13
Re: 无法同时显示三个摄像头的画面
« 回复 #5 于: 四月 28, 2012, 01:13:30 下午 »
三个画面都显示同一个摄像头的内容问题解决了,将video1送到所指定的三个画面就可以了,后面加上video stop(),可以关掉视频。
但是video stop(),不能实现拍照功能,有哪位知道拍照的函数,谢谢

bzn001

  • Newbie
  • *
  • 帖子: 13
Re: 无法同时显示三个摄像头的画面
« 回复 #6 于: 五月 04, 2012, 02:20:54 下午 »
解决了可以利用save函数实现拍照,看来还得多多研究Processing的网站啊

Tags: