小编Gab*_*ock的帖子

如何使用opencv检测多张面孔以生成闪烁的LED灯输出

我在使用processing和opencv方面还很陌生,所以请多多包涵。我已经在stackoverflow和处理论坛上都发布了我的问题,以覆盖更广泛的受众并找到解决方案-抱歉,这似乎是我不小心进行交叉发布,因为这不是我的意图。

我一直在使用Arduino和Processing进行轻型安装。我正在捕捉使用带有网络摄像头和opencv的面部检测的人,并将其转换为可在16x32 LED矩阵面板上工作的照明装置。灯光装置是对正在观看灯光并同时进行录制的观众数量的一种响应-想法是,录制的人越多,闪烁的灯光显示就越大,并且当没有人观看/正在观看时录制后,灯光不会闪烁。

我设法使opencv能够检测到面部并将其输出到Arduino以显示在灯光上,但是我只能使灯光在不被检测到的情况下(而不是在被检测到的情况下)更强烈地闪烁。因此,这些灯反向工作,并且在没有人检测到时,它们闪烁得更多,而在有人检测到时,它们闪烁得更少。

我已经附上了我的Processing和Arduino代码以供参考,尽管我认为根本不需要更改Arduino代码。

(我在处理代码中突出显示了一个区域,我认为这是导致问题的部分)

我非常感谢谁知道可以更改此方法,以便面部检测触发更多的光线

谢谢

处理代码

 import gab.opencv.*;
 import java.awt.*;
 import processing.video.*;
 import processing.serial.*;
 import java.awt.Color;

 Capture video;
 OpenCV opencv;

 Serial myPort;  // Create object from Serial class
 int inByte = -1; 

 void setup() 
 {
   size(640, 480);
   video = new Capture(this, 640/2, 480/2);
   opencv = new OpenCV(this, 640/2, 480/2);
   opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE);
   video.start();

   println(Serial.list());
   //colorMode(HSB, 100,100,100);
   String portName = Serial.list()[5];
   myPort = new Serial(this, Serial.list()[5], 9600);

 }

 void draw() {

   scale(2);
   opencv.loadImage(video);

   image(video, 0, 0 );

   noFill(); …
Run Code Online (Sandbox Code Playgroud)

java processing opencv arduino led

5
推荐指数
0
解决办法
425
查看次数

标签 统计

arduino ×1

java ×1

led ×1

opencv ×1

processing ×1