Trial 04022025
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user