Я хочу распознавать лица в реальном времени через веб-камеру. Я работал до обнаружения лица через веб-камеру, но у меня возникают проблемы с внедрением алгоритма собственных лиц в Java (Netbeans).Реализация EigenFace: на Java с использованием OpenCV3
я достиг обнаружения лица, используя следующий код: -
private DaemonThread myThread = null;
int count = 0;
VideoCapture webSource = null;
Mat frame = new Mat();
MatOfByte mem = new MatOfByte();
CascadeClassifier faceDetector = new CascadeClassifier(ScannerGUI.class.getResource("haarcascade_frontalface_alt.xml").getPath().substring(1));
MatOfRect faceDetections = new MatOfRect();
class DaemonThread implements Runnable
{
protected volatile boolean runnable = false;
@Override
public void run()
{
synchronized(this)
{
while(runnable)
{
if(webSource.grab())
{
try
{
webSource.retrieve(frame);
//Highgui.imencode(".bmp", frame, mem);
Graphics g=jPanel1.getGraphics();
faceDetector.detectMultiScale(frame, faceDetections);
for (Rect rect : faceDetections.toArray())
{ Imgproc.rectangle(frame, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height),new Scalar(0, 255, 0),2);
}
Imgcodecs.imencode(".bmp", frame, mem);
Image im = ImageIO.read(new ByteArrayInputStream(mem.toArray()));
BufferedImage buff = (BufferedImage) im;
if (g.drawImage(buff, 0, 0, getWidth(), getHeight() -150 , 0, 0, buff.getWidth(), buff.getHeight(), null))
if(runnable == false)
{
System.out.println("Going to wait()");
this.wait();
}
}
catch(Exception ex)
{
System.out.println("Error");
}
}
}
}
}
}
Теперь я хочу, чтобы первый первый сохранить обнаруженное лицо в собственных лицах, а затем признать это лицо.
Может кто-то, пожалуйста, помогите мне в этом, я тщательно искал онлайн для реализации Eigen face на Java, но не смог найти ничего полезного.
Пожалуйста, помогите мне в этом, поскольку я новичок в OpenCV и этот Мой проект для колледжа.
OpenCV уже предоставляет [реализацию на основе собственных] (http://docs.opencv.org/3.0-beta/modules/face/doc/facerec/facerec_tutorial.html#eigenfaces). Я не знаю, поддерживает ли его оболочку, но вы всегда можете вызвать собственный код на C++. – Miki
все это находится в [docs] (http://docs.opencv.org/java/3.0.0/org/opencv/core/Core.html#PCACompute (org.opencv.core.Mat,% 20org.opencv. core.Mat,% 20org.opencv.core.Mat)) – berak