我是 JavaCV/OpenCV 的新手,所以如果我是一个完全的白痴,请提前道歉......
我需要检测图像中的“主要/主要”人脸(该图像大部分是“个人资料图片”),不需要人脸识别。
由于不同的haarcascade文件每个都检测到不同的人脸,并且检测到的人脸有时实际上不是人脸,而是图像中的任意伪影,因此我需要决定使用哪些人脸。假设检测到的人脸是真实的人脸,使用最大的人脸是有意义的,因为它是个人资料图片。
我遇到的主要问题是代码检测到(对于某些图像)超过 1 张脸,而最大的脸实际上根本不是人脸。这是我的一个测试中的一个示例,其中代码检测到 2 张脸,1 张是真实的脸,另一个是女人的胸围,碰巧她的胸围比她的脸大。
脸:java.awt.Rectangle[x=62,y=42,width=78,height=78]
面积6084
胸围:java.awt.Rectangle[x=86,y=144,width=80,height=80]
面积6400
所以简而言之,我的问题是,如果我有多个检测到的面孔,是否有某种评分量表可以用来确定哪些面孔最匹配 OpenCV 所看到的面孔?