Trial 04022025

This commit is contained in:
2025-02-04 08:48:28 +07:00
parent a60fe56510
commit 29884c03ed
24 changed files with 16423 additions and 158594 deletions

View File

@@ -69,6 +69,11 @@ public class CaptureView {
private final AtomicBoolean[] have_face = new AtomicBoolean[5];
private final AtomicBoolean[] have_eyes = new AtomicBoolean[5];
private final AtomicBoolean[] have_profile = new AtomicBoolean[5];
private final AtomicBoolean[] have_left_ear = new AtomicBoolean[5];
private final AtomicBoolean[] have_right_ear = new AtomicBoolean[5];
private final AtomicBoolean[] have_left_eye = new AtomicBoolean[5];
private final AtomicBoolean[] have_right_eye = new AtomicBoolean[5];
private final AtomicBoolean isTakingPhoto = new AtomicBoolean(false);
@FXML
@@ -463,6 +468,14 @@ public class CaptureView {
case CameraConfigRight90 -> have_face[4];
};
final AtomicBoolean _have_profile = switch (image.getCameraConfigEnum()){
case CameraConfigCenter -> have_profile[2];
case CameraConfigLeft45 -> have_profile[1];
case CameraConfigLeft90 -> have_profile[0];
case CameraConfigRight45 -> have_profile[3];
case CameraConfigRight90 -> have_profile[4];
};
final AtomicBoolean _have_eye = switch (image.getCameraConfigEnum()){
case CameraConfigCenter -> have_eyes[2];
case CameraConfigLeft45 -> have_eyes[1];
@@ -471,6 +484,38 @@ public class CaptureView {
case CameraConfigRight90 -> have_eyes[4];
};
final AtomicBoolean _have_left_ear = switch (image.getCameraConfigEnum()){
case CameraConfigCenter -> have_left_ear[2];
case CameraConfigLeft45 -> have_left_ear[1];
case CameraConfigLeft90 -> have_left_ear[0];
case CameraConfigRight45 -> have_left_ear[3];
case CameraConfigRight90 -> have_left_ear[4];
};
final AtomicBoolean _have_right_ear = switch (image.getCameraConfigEnum()){
case CameraConfigCenter -> have_right_ear[2];
case CameraConfigLeft45 -> have_right_ear[1];
case CameraConfigLeft90 -> have_right_ear[0];
case CameraConfigRight45 -> have_right_ear[3];
case CameraConfigRight90 -> have_right_ear[4];
};
final AtomicBoolean _have_left_eye = switch (image.getCameraConfigEnum()){
case CameraConfigCenter -> have_left_eye[2];
case CameraConfigLeft45 -> have_left_eye[1];
case CameraConfigLeft90 -> have_left_eye[0];
case CameraConfigRight45 -> have_left_eye[3];
case CameraConfigRight90 -> have_left_eye[4];
};
final AtomicBoolean _have_right_eye = switch (image.getCameraConfigEnum()){
case CameraConfigCenter -> have_right_eye[2];
case CameraConfigLeft45 -> have_right_eye[1];
case CameraConfigLeft90 -> have_right_eye[0];
case CameraConfigRight45 -> have_right_eye[3];
case CameraConfigRight90 -> have_right_eye[4];
};
Platform.runLater(()-> image.setCameraTitle(title));
if (devicenumber!=-1){
OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(devicenumber);
@@ -521,17 +566,47 @@ public class CaptureView {
}
@Override
public void onFaceDetector(boolean hasface, int width, int height) {
public void onFrontalFaceDetector(boolean hasface, int width, int height) {
_have_face.set(hasface);
update_status(image);
}
@Override
public void onProfileFaceDetector(boolean hasface, int width, int height) {
_have_profile.set(hasface);
update_status(image);
}
@Override
public void onEyeDetector(boolean hasEye, int width, int height) {
_have_eye.set(hasEye);
update_status(image);
}
@Override
public void onLeftEarDetector(boolean hasLeftEar, int width, int height) {
_have_left_ear.set(hasLeftEar);
update_status(image);
}
@Override
public void onRightEarDetector(boolean hasRightEar, int width, int height) {
_have_right_ear.set(hasRightEar);
update_status(image);
}
@Override
public void onLeftEyeDetector(boolean hasLeftEye, int width, int height) {
_have_left_eye.set(hasLeftEye);
update_status(image);
}
@Override
public void onRightEyeDetector(boolean hasRightEye, int width, int height) {
_have_right_eye.set(hasRightEye);
update_status(image);
}
@Override
public void onLog(String log) {
String ss = String.format("[%s] : %s", title, log);
@@ -556,8 +631,14 @@ public class CaptureView {
sb.append(image.getBestHeight());
sb.append("@");
sb.append(image.getLiveFPS());
if (_have_face.get()) sb.append(", Face Detected");
if (_have_eye.get()) sb.append(", Eye Detected");
if (_have_face.get()) sb.append(", Face");
if (_have_profile.get()) sb.append(", Profile");
if (_have_eye.get()) sb.append(", Eye");
if (_have_left_eye.get()) sb.append(", Left Eye");
if (_have_right_eye.get()) sb.append(", Right Eye");
if (_have_left_ear.get()) sb.append(", Left Ear");
if (_have_right_ear.get()) sb.append(", Right Ear");
image.setCameraStatus(sb.toString());
});
@@ -578,6 +659,11 @@ public class CaptureView {
have_face[camid-1] = new AtomicBoolean(false);
have_eyes[camid-1] = new AtomicBoolean(false);
have_profile[camid-1] = new AtomicBoolean(false);
have_left_ear[camid-1] = new AtomicBoolean(false);
have_right_ear[camid-1] = new AtomicBoolean(false);
have_left_eye[camid-1] = new AtomicBoolean(false);
have_right_eye[camid-1] = new AtomicBoolean(false);
FXMLLoader loader = new FXMLLoader(getClass().getResource("cameradetail.fxml"));
AnchorPane child = loader.load();