2016-10-08 5 views
0

Я работаю над эскизом, который должен обнаруживать лица и давать каждому лицу свое изображение.Как работать с обнаруженными лицами независимо друг от друга? OpenCV/Обработка

Что делает компьютер: каждый раз, когда компьютер обнаруживает новое лицо, он становится «лицом 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(); 
    } 

ответ

0

Что вы после этого звуки более, как распознавание лица, чем обнаружение лица.

Вам необходимо изучить алгоритм распознавания лиц, такой как Eigen Faces/Fisher Faces/Local Binary Patterns (LBP) для распознавания лиц.

К счастью, есть некоторые обработки конкретные ресурсы, которые вы можете проверить: