Trial 11022025
This commit is contained in:
@@ -12,6 +12,8 @@ import org.tinylog.Logger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static Config.SomeCodes.IsInsideRect;
|
||||
|
||||
public class Detectors {
|
||||
public static CascadeClassifier frontalfaceDetector;
|
||||
private static CascadeClassifier eyeDetector;
|
||||
@@ -20,7 +22,18 @@ public class Detectors {
|
||||
private static CascadeClassifier palmDetector;
|
||||
private static CascadeClassifier fistDetector;
|
||||
|
||||
private static double scaleFactor = 1.1;
|
||||
private final static int minNeighbors = 3;
|
||||
private final static int flags = 0;
|
||||
private static Size FaceminSize;
|
||||
private static Size FacemaxSize;
|
||||
|
||||
private static final int EyetoFaceRatio = 6;
|
||||
private static Size EyeminSize;
|
||||
private static Size EyemaxSize;
|
||||
|
||||
public static void LoadAllDetectors(){
|
||||
|
||||
LoadFrontalFaceDetector();
|
||||
LoadEyeDetector();
|
||||
|
||||
@@ -146,10 +159,7 @@ public class Detectors {
|
||||
dr.setFace(face);
|
||||
if (eyes!=null && eyes.size()>=2){
|
||||
for(Rect eye : eyes.get()){
|
||||
if (eye.x() < face.x() || eye.y() < face.y() || eye.x() + eye.width() > face.x() + face.width() || eye.y() + eye.height() > face.y() + face.height()){
|
||||
continue;
|
||||
}
|
||||
dr.AddEye(eye);
|
||||
if (IsInsideRect(eye, face)) dr.AddEye(eye);
|
||||
}
|
||||
}
|
||||
result.add(dr);
|
||||
@@ -169,10 +179,7 @@ public class Detectors {
|
||||
dr.setFace(face);
|
||||
if (eyes!=null && eyes.size()>0){
|
||||
for(Rect eye : eyes.get()){
|
||||
if (eye.x() < face.x() || eye.y() < face.y() || eye.x() + eye.width() > face.x() + face.width() || eye.y() + eye.height() > face.y() + face.height()){
|
||||
continue;
|
||||
}
|
||||
dr.AddEye(eye);
|
||||
if (IsInsideRect(eye, face)) dr.AddEye(eye);
|
||||
}
|
||||
}
|
||||
result.add(dr);
|
||||
@@ -183,32 +190,43 @@ public class Detectors {
|
||||
|
||||
|
||||
|
||||
private static double scaleFactor = 1.1;
|
||||
private final static int minNeighbors = 3;
|
||||
private final static int flags = 0;
|
||||
private static Size FaceminSize = new Size(200,200);
|
||||
private static Size FacemaxSize = new Size(500,500);
|
||||
|
||||
private static final int EyetoFaceRatio = 6;
|
||||
private static Size EyeminSize = new Size(FaceminSize.width()/EyetoFaceRatio,FaceminSize.height()/EyetoFaceRatio);
|
||||
private static Size EyemaxSize = new Size(FacemaxSize.width()/EyetoFaceRatio,FacemaxSize.height()/EyetoFaceRatio);
|
||||
|
||||
public static void setScaleFactor(double value){
|
||||
if (scaleFactor!=value) scaleFactor = value;
|
||||
}
|
||||
|
||||
public static void setFaceMinSize(int value){
|
||||
if (FaceminSize.width()!=value || FaceminSize.height()!=value) {
|
||||
if (FaceminSize!=null){
|
||||
if (FaceminSize.width()!=value || FaceminSize.height()!=value) {
|
||||
FaceminSize = new Size(value, value);
|
||||
EyeminSize = new Size(value/EyetoFaceRatio, value/EyetoFaceRatio);
|
||||
System.out.println("FaceMinSize changed to : " + FaceminSize.width());
|
||||
System.out.println("EyeMinSize changed to : " + EyeminSize.width());
|
||||
}
|
||||
} else {
|
||||
FaceminSize = new Size(value, value);
|
||||
EyeminSize = new Size(value/EyetoFaceRatio, value/EyetoFaceRatio);
|
||||
System.out.println("FaceMinSize created with value : " + FaceminSize.width());
|
||||
System.out.println("EyeMinSize created with value : " + EyeminSize.width());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void setFaceMaxSize(int value){
|
||||
if (FacemaxSize.width()!=value || FacemaxSize.height()!=value) {
|
||||
if (FacemaxSize!=null){
|
||||
if (FacemaxSize.width()!=value || FacemaxSize.height()!=value) {
|
||||
FacemaxSize = new Size(value, value);
|
||||
EyemaxSize = new Size(value/EyetoFaceRatio, value/EyetoFaceRatio);
|
||||
System.out.println("FaceMaxSize changed to : " + FacemaxSize.width());
|
||||
System.out.println("EyeMaxSize changed to : " + EyemaxSize.width());
|
||||
}
|
||||
} else {
|
||||
FacemaxSize = new Size(value, value);
|
||||
EyemaxSize = new Size(value/EyetoFaceRatio, value/EyetoFaceRatio);
|
||||
System.out.println("FaceMaxSize created with value : " + FacemaxSize.width());
|
||||
System.out.println("EyeMaxSize created with value : " + EyemaxSize.width());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user