【问题标题】:how to work on detected faces independently from each other? OpenCV/Processing如何相互独立地处理检测到的人脸? OpenCV/处理
【发布时间】:2017-02-17 11:29:45
【问题描述】:

我正在绘制一个草图,它应该检测人脸并为每张脸提供自己的图像。

计算机的作用:每次计算机检测到新面孔时,它都会变为“面孔 0”并分配“图像 0”。结果是,所有其他人脸的数字都在变化,并且他们也获得了分配的新图像。

我想要什么:当检测到新面孔时,每张面孔都应该有自己的图像,而无需更改它。

我希望你能理解我,尽管有语言障碍。如果你能帮我处理这段代码,那就太好了。


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


int num = 10;
PImage[] myImageArray = new PImage[num];
Capture video;
OpenCV opencv;


void setup() {

 for (int i=0; i<myImageArray.length; i++){             
  myImageArray[i] = loadImage( str(i) + ".png");
}

  size(800, 600);
  video = new Capture(this, 800/2, 600/2);
  opencv = new OpenCV(this, 800/2, 600/2);
  opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE);  

  video.start();
}


void draw() {
  scale(2);
  opencv.loadImage(video);

  image(video, 0, 0 );

  Rectangle[] faces = opencv.detect();
  println(faces.length);                    
 faces = opencv.detect();


  for (int i = 0; i < faces.length; i++) {
    println(faces[i].x + "," + faces[i].y);  
     image(myImageArray[i], faces[i].x-70, faces[i].y-60,
                  faces[i].width+80, faces[i].height+80);
  }
}


void captureEvent(Capture c) {
  c.read();
   }

【问题讨论】:

    标签: image opencv processing face-detection


    【解决方案1】:

    你所追求的听起来更像是人脸识别而不是人脸检测。

    您需要研究人脸识别算法,例如 Eigen Faces/Fisher Faces/Local Binary Patterns (LBP) 来进行人脸识别。

    幸运的是,您可以查看一些特定于处理的资源:

    【讨论】:

      猜你喜欢
      • 2013-10-06
      • 2013-02-10
      • 2013-08-05
      • 2019-12-01
      • 1970-01-01
      • 2020-12-16
      • 2012-02-04
      • 2013-05-24
      • 1970-01-01
      相关资源
      最近更新 更多