Commit 21032025

This commit is contained in:
2025-03-21 14:24:05 +07:00
parent b248c59e32
commit 80d468a79a
37 changed files with 858 additions and 964 deletions

View File

@@ -14,10 +14,9 @@ import static Config.SomeCodes.IsInsideRect;
public class Detectors {
public static CascadeClassifier frontalfaceDetector;
private static CascadeClassifier eyeDetector;
private static CascadeClassifier profilefaceDetector;
private static CascadeClassifier palmDetector;
private static CascadeClassifier fistDetector;
//private static CascadeClassifier palmDetector;
//private static CascadeClassifier fistDetector;
private static double scaleFactor = 1.1;
private final static int minNeighbors = 3;
@@ -37,43 +36,43 @@ public class Detectors {
LoadProfileFaceDetector();
LoadFistDetector();
LoadRightPalmDetector();
//LoadFistDetector();
//LoadRightPalmDetector();
}
private static void LoadFistDetector(){
String filename = SomeCodes.ExtractResource("/fist.xml");
if (filename!=null) {
Logger.info("Fist Detector file : " + filename);
if (fistDetector ==null) {
try{
// private static void LoadFistDetector(){
// String filename = SomeCodes.ExtractResource("/fist.xml");
// if (filename!=null) {
// Logger.info("Fist Detector file : " + filename);
// if (fistDetector ==null) {
// try{
//
// fistDetector = new CascadeClassifier(filename);
// Logger.info("FistDetector loaded");
// } catch (Exception e){
// Logger.error("Exception on loading FistDetector : " + e.getMessage());
// }
//
// } else Logger.info("FistDetector already loaded");
// } else Logger.error("Unable to extract fist detector file");
// }
fistDetector = new CascadeClassifier(filename);
Logger.info("FistDetector loaded");
} catch (Exception e){
Logger.error("Exception on loading FistDetector : " + e.getMessage());
}
} else Logger.info("FistDetector already loaded");
} else Logger.error("Unable to extract fist detector file");
}
private static void LoadRightPalmDetector(){
String filename = SomeCodes.ExtractResource("/rpalm.xml");
if (filename!=null) {
Logger.info("Right Palm Detector file : " + filename);
if (palmDetector ==null) {
try{
palmDetector = new CascadeClassifier(filename);
Logger.info("RightPalmDetector loaded");
} catch (Exception e){
Logger.error("Exception on loading RightPalmDetector : " + e.getMessage());
}
} else Logger.info("RightPalmDetector already loaded");
} else Logger.error("Unable to extract right palm detector file");
}
// private static void LoadRightPalmDetector(){
// String filename = SomeCodes.ExtractResource("/rpalm.xml");
// if (filename!=null) {
// Logger.info("Right Palm Detector file : " + filename);
// if (palmDetector ==null) {
// try{
//
// palmDetector = new CascadeClassifier(filename);
// Logger.info("RightPalmDetector loaded");
// } catch (Exception e){
// Logger.error("Exception on loading RightPalmDetector : " + e.getMessage());
// }
//
// } else Logger.info("RightPalmDetector already loaded");
// } else Logger.error("Unable to extract right palm detector file");
// }
private static void LoadFrontalFaceDetector(){
String filename = SomeCodes.ExtractResource("/haarcascade_frontalface_alt.xml");
@@ -129,15 +128,15 @@ public class Detectors {
public static boolean HavePalm(UMat graymat){
RectVector palms = Detect(graymat, palmDetector);
return palms!=null && palms.size()>0;
}
public static boolean HaveFist(UMat graymat){
RectVector fists = Detect(graymat, fistDetector);
return fists!=null && fists.size()>0;
}
// public static boolean HavePalm(UMat graymat){
// RectVector palms = Detect(graymat, palmDetector);
// return palms!=null && palms.size()>0;
// }
//
// public static boolean HaveFist(UMat graymat){
// RectVector fists = Detect(graymat, fistDetector);
// return fists!=null && fists.size()>0;
// }
/**