gpt4 book ai didi

java - 在 Java 中使用 openCV 检测人脸内的微笑

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:19 25 4
gpt4 key购买 nike

我正在开发一个 openCV 应用程序。通过一些代码,我能够检测到正面。我想检测并记录用户微笑的次数。我的想法是在检测到人脸后,我在它周围画一个矩形,然后我会调用微笑检测。到目前为止,我的结果不太成功。我正在发布我的人脸检测代码,任何人都可以告诉我如何从人脸检测中的 for 循环开始。谢谢。

 public Mat detect(Mat inputframe) {
Mat mRgba = new Mat();
Mat mGrey = new Mat();
MatOfRect faces = new MatOfRect();
inputframe.copyTo(mRgba);
inputframe.copyTo(mGrey);
Imgproc.cvtColor(mRgba, mGrey, Imgproc.COLOR_BGR2GRAY);
Imgproc.equalizeHist(mGrey, mGrey);
face_cascade.detectMultiScale(mGrey, faces);
System.out.println(String.format("Detected %s face",
faces.toArray().length));
MatOfRect smileDetections = new MatOfRect();
face_cascade1.detectMultiScale(mGrey,smileDetections);
System.out.println(String.format("Detected %s smiles",smileDetections.toArray().length));
for (Rect rect : faces.toArray()) {
Point center = new Point(rect.x + rect.width * 0.5, rect.y
+ rect.height * 0.5);
Core.ellipse(mRgba, center, new Size(rect.width * 0.5,
rect.height * 0.5), 0, 0, 360, new Scalar(255, 0, 255), 4,
8, 0);
}
return mRgba;
}
}

最佳答案

无论如何,你的选择不多:

  1. 使用主动形状模型 (ASM) 和主动外观模型 (AAM),您可以轻松找到一些免费的开源库。
  2. 使用一些统计分类器:我认为您可能需要查看这个有用的 paper ,他们使用树增强朴素贝叶斯 (TAN) 分类器来识别面部表情。
  3. 或者你可以使用 opencv 人脸识别 api,但不识别人脸,你可以定义你的笑脸,甚至只是不同大小写的嘴,opencv 识别器会根据你定义的类标签对它们进行分类。 Here你会发现 opencv 的教程告诉你如何修复你的数据并训练它们。

关于java - 在 Java 中使用 openCV 检测人脸内的微笑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com