Compare commits
6 Commits
revision15
...
532979807b
| Author | SHA1 | Date | |
|---|---|---|---|
| 532979807b | |||
| 4535fe0aec | |||
| 71ecbe0c3e | |||
|
|
2da4c3621e | ||
|
|
fbb68b4da7 | ||
|
|
58194d8979 |
81
.idea/artifacts/ErhaCam_jar.xml
generated
81
.idea/artifacts/ErhaCam_jar.xml
generated
@@ -3,50 +3,51 @@
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/ErhaCam_jar</output-path>
|
||||
<root id="archive" name="ErhaCam.jar">
|
||||
<element id="module-output" name="ErhaCam" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/libdc1394/2.2.6-1.5.9/libdc1394-2.2.6-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/commons-net/commons-net/3.11.1/commons-net-3.11.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/javacpp/1.5.10/javacpp-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/tinylog/tinylog-impl/2.7.0/tinylog-impl-2.7.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/opencv/4.9.0-1.5.10/opencv-4.9.0-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/openblas/0.3.26-1.5.10/openblas-0.3.26-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/controlsfx/controlsfx/11.2.1/controlsfx-11.2.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-base/21/javafx-base-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-fxml/21/javafx-fxml-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/openblas/0.3.26-1.5.10/openblas-0.3.26-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/videoinput/0.200-1.5.9/videoinput-0.200-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/zxing/javase/3.5.3/javase-3.5.3.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-controls/21/javafx-controls-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/net/java/dev/jna/jna/5.15.0/jna-5.15.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/leptonica/1.84.1-1.5.10/leptonica-1.84.1-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.30/lombok-1.18.30.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-graphics/21/javafx-graphics-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-graphics/21/javafx-graphics-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/libfreenect/0.5.7-1.5.9/libfreenect-0.5.7-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/github/jai-imageio/jai-imageio-core/1.4.0/jai-imageio-core-1.4.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/librealsense2/2.53.1-1.5.9/librealsense2-2.53.1-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-fxml/21/javafx-fxml-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/libfreenect2/0.2.0-1.5.9/libfreenect2-0.2.0-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.27.0/error_prone_annotations-2.27.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/xerial/sqlite-jdbc/3.46.0.0/sqlite-jdbc-3.46.0.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/videoinput/0.200-1.5.9/videoinput-0.200-1.5.9-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-controls/21/javafx-controls-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-jcl/1.7.36/slf4j-jcl-1.7.36.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/opencv/4.9.0-1.5.10/opencv-4.9.0-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/javacv/1.5.10/javacv-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/zxing/core/3.5.3/core-3.5.3.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/librealsense/1.12.4-1.5.9/librealsense-1.12.4-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/flycapture/2.13.3.31-1.5.9/flycapture-2.13.3.31-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/tesseract/5.3.4-1.5.10/tesseract-5.3.4-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/beust/jcommander/1.82/jcommander-1.82.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/tinylog/tinylog-api/2.7.0/tinylog-api-2.7.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-base/21/javafx-base-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/ffmpeg/6.1.1-1.5.10/ffmpeg-6.1.1-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/ffmpeg/6.1.1-1.5.10/ffmpeg-6.1.1-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/javacpp/1.5.10/javacpp-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/artoolkitplus/2.3.1-1.5.9/artoolkitplus-2.3.1-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/librealsense/1.12.4-1.5.9/librealsense-1.12.4-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-jcl/1.7.36/slf4j-jcl-1.7.36.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-graphics/21/javafx-graphics-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/openblas/0.3.26-1.5.10/openblas-0.3.26-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.27.0/error_prone_annotations-2.27.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/beust/jcommander/1.82/jcommander-1.82.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/ffmpeg/6.1.1-1.5.10/ffmpeg-6.1.1-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/videoinput/0.200-1.5.9/videoinput-0.200-1.5.9-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-fxml/21/javafx-fxml-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/libdc1394/2.2.6-1.5.9/libdc1394-2.2.6-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/tinylog/tinylog-api/2.7.0/tinylog-api-2.7.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.30/lombok-1.18.30.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/libfreenect/0.5.7-1.5.9/libfreenect-0.5.7-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-controls/21/javafx-controls-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/opencv/4.9.0-1.5.10/opencv-4.9.0-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/zxing/core/3.5.3/core-3.5.3.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-controls/21/javafx-controls-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/leptonica/1.84.1-1.5.10/leptonica-1.84.1-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/commons-net/commons-net/3.11.1/commons-net-3.11.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/librealsense2/2.53.1-1.5.9/librealsense2-2.53.1-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/net/java/dev/jna/jna/5.15.0/jna-5.15.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/tinylog/tinylog-impl/2.7.0/tinylog-impl-2.7.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/de/jensd/fontawesomefx/8.9/fontawesomefx-8.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/flycapture/2.13.3.31-1.5.9/flycapture-2.13.3.31-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/javacv/1.5.10/javacv-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/opencv/4.9.0-1.5.10/opencv-4.9.0-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-base/21/javafx-base-21-win.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/controlsfx/controlsfx/11.2.1/controlsfx-11.2.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/videoinput/0.200-1.5.9/videoinput-0.200-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/github/jai-imageio/jai-imageio-core/1.4.0/jai-imageio-core-1.4.0.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/google/zxing/javase/3.5.3/javase-3.5.3.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-graphics/21/javafx-graphics-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-base/21/javafx-base-21.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/javacpp/1.5.10/javacpp-1.5.10.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/ffmpeg/6.1.1-1.5.10/ffmpeg-6.1.1-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/openblas/0.3.26-1.5.10/openblas-0.3.26-1.5.10-windows-x86_64.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/bytedeco/libfreenect2/0.2.0-1.5.9/libfreenect2-0.2.0-1.5.9.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/openjfx/javafx-fxml/21/javafx-fxml-21-win.jar" path-in-jar="/" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
BIN
camera-shutter-click-01.wav
Normal file
BIN
camera-shutter-click-01.wav
Normal file
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
#Mon Mar 17 15:01:40 WIB 2025
|
||||
AudioPhase1=C\:\\Users\\rdkar\\OneDrive\\Documents\\IntelliJ Project\\ErhaCam\\audio\\phase1.mp3
|
||||
AudioPhase2=C\:\\Users\\rdkar\\OneDrive\\Documents\\IntelliJ Project\\ErhaCam\\audio\\phase2.mp3
|
||||
AudioPhase3=C\:\\Users\\rdkar\\OneDrive\\Documents\\IntelliJ Project\\ErhaCam\\audio\\phase3.mp3
|
||||
AudioPhase4=C\:\\Users\\rdkar\\OneDrive\\Documents\\IntelliJ Project\\ErhaCam\\audio\\phase4.mp3
|
||||
AudioPhase5=C\:\\Users\\rdkar\\OneDrive\\Documents\\IntelliJ Project\\ErhaCam\\audio\\phase5.mp3
|
||||
#Mon Mar 24 13:39:02 ICT 2025
|
||||
AudioPhase1=C\:\\Users\\Erha\\IdeaProjects\\ErhaCam\\audio\\phase1.mp3
|
||||
AudioPhase2=C\:\\Users\\Erha\\IdeaProjects\\ErhaCam\\audio\\phase2.mp3
|
||||
AudioPhase3=C\:\\Users\\Erha\\IdeaProjects\\ErhaCam\\audio\\phase3.mp3
|
||||
AudioPhase4=C\:\\Users\\Erha\\IdeaProjects\\ErhaCam\\audio\\phase4.mp3
|
||||
AudioPhase5=C\:\\Users\\Erha\\IdeaProjects\\ErhaCam\\audio\\phase5.mp3
|
||||
CameraCenter=
|
||||
CameraConfigCenter={"Brightness"\:0.0,"Contrast"\:0.0,"Saturation"\:0.0,"Hue"\:0.0,"Gain"\:1.0,"Exposure"\:1.0,"Sharpness"\:0.0,"Gamma"\:0.0,"AutoExposure"\:true,"AutoFocus"\:true,"AutoWhiteBalance"\:true}
|
||||
CameraConfigLeft45={"Brightness"\:0.0,"Contrast"\:0.0,"Saturation"\:0.0,"Hue"\:0.0,"Gain"\:1.0,"Exposure"\:1.0,"Sharpness"\:0.0,"Gamma"\:0.0,"AutoExposure"\:true,"AutoFocus"\:true,"AutoWhiteBalance"\:true}
|
||||
@@ -11,7 +11,7 @@ CameraConfigLeft90={"Brightness"\:0.0,"Contrast"\:0.0,"Saturation"\:0.0,"Hue"\:0
|
||||
CameraConfigRight45={"Brightness"\:0.0,"Contrast"\:0.0,"Saturation"\:0.0,"Hue"\:0.0,"Gain"\:1.0,"Exposure"\:1.0,"Sharpness"\:0.0,"Gamma"\:0.0,"AutoExposure"\:true,"AutoFocus"\:true,"AutoWhiteBalance"\:true}
|
||||
CameraConfigRight90={"Brightness"\:0.0,"Contrast"\:0.0,"Saturation"\:0.0,"Hue"\:0.0,"Gain"\:1.0,"Exposure"\:1.0,"Sharpness"\:0.0,"Gamma"\:0.0,"AutoExposure"\:true,"AutoFocus"\:true,"AutoWhiteBalance"\:true}
|
||||
CameraLeft45=
|
||||
CameraLeft90=ACER QHD User Facing
|
||||
CameraLeft90=OBSBOT Meet 2 StreamCamera
|
||||
CameraRight45=
|
||||
CameraRight90=
|
||||
FTPHost=192.168.10.2
|
||||
@@ -19,7 +19,10 @@ FTPPass=password
|
||||
FTPPath=/
|
||||
FTPPort=21
|
||||
FTPUser=user
|
||||
PhotoDirectory=C\:\\Users\\rdkar\\OneDrive\\Desktop\\Erha Capture
|
||||
FlipCamera=true
|
||||
MirrorCamera=true
|
||||
PhotoDirectory=C\:\\Users\\Erha\\Desktop\\ErhaCapture
|
||||
SharpnessThreshold=70.0
|
||||
cascadeMaxSize=500
|
||||
cascadeMinNeighbors=3
|
||||
cascadeMinSize=250
|
||||
|
||||
BIN
countdown321.wav
Normal file
BIN
countdown321.wav
Normal file
Binary file not shown.
BIN
data_barcode_tidak_ditemukan.wav
Normal file
BIN
data_barcode_tidak_ditemukan.wav
Normal file
Binary file not shown.
BIN
database.db
BIN
database.db
Binary file not shown.
24350
haarcascade_frontalface_alt.xml
Normal file
24350
haarcascade_frontalface_alt.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
kesalahan_server.wav
Normal file
BIN
kesalahan_server.wav
Normal file
Binary file not shown.
@@ -47,3 +47,382 @@
|
||||
2024-10-21 15:28:21 INFO: GetAll success, result count: 36
|
||||
2024-10-21 15:28:25 INFO: Not loading empty fxml file
|
||||
2024-10-21 15:28:25 INFO: Application closed
|
||||
2025-03-21 14:43:56 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 14:43:56 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 14:43:56 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 14:43:56 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 14:43:56 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 14:43:56 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 14:43:56 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 14:43:56 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\FullQuality, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:43:56 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\FullQualityCrop, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:43:56 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\Compressed, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:43:56 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\CompressedCrop, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:43:56 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\thumbs, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:44:00 ERROR: id.co.gtc.erhacam.MainApplication.start() Secure Dongle not found
|
||||
2025-03-21 14:44:52 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 14:44:52 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 14:44:52 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 14:44:52 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 14:44:52 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 14:44:52 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 14:44:52 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 14:44:52 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\FullQuality, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:44:52 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\FullQualityCrop, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:44:52 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\Compressed, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:44:52 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\CompressedCrop, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:44:52 INFO: Config.SomeCodes.MakeDirectory() Error creating directory: C:\Users\rdkar\OneDrive\Desktop\Erha Capture\thumbs, Msg : C:\Users\rdkar
|
||||
2025-03-21 14:44:52 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 14:44:52 INFO: Config.SomeCodes.ExtractResource() Resource File extracted: /countdown321.wav
|
||||
2025-03-21 14:44:53 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 14:44:53 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 14:44:53 INFO: Config.SomeCodes.ExtractResource() Resource File extracted: /haarcascade_frontalface_alt.xml
|
||||
2025-03-21 14:44:53 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 14:44:58 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 14:44:58 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 14:44:58 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 14:44:58 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 14:44:58 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 14:44:58 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 14:44:58 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 14:45:06 INFO: id.co.gtc.erhacam.SettingView.initialize() Found 1 Cameras
|
||||
2025-03-21 14:45:06 INFO: id.co.gtc.erhacam.SettingView.lambda$initialize$0() adding camera : OBSBOT Meet 2 StreamCamera to camera list
|
||||
2025-03-21 14:45:13 INFO: Config.ConfigFile.SetCameraLeft90() Camera Left 90 Degree changed from ACER QHD User Facing to OBSBOT Meet 2 StreamCamera
|
||||
2025-03-21 14:45:24 INFO: Config.ConfigFile.SetPhotoDirectory() Photo Directory changed from C:\Users\rdkar\OneDrive\Desktop\Erha Capture to C:\Users\Erha\Desktop\ErhaCapture
|
||||
2025-03-21 14:45:24 INFO: Config.ConfigFile.Save() Config Saved
|
||||
2025-03-21 14:45:29 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 14:45:29 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 14:45:29 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 14:45:29 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 14:45:32 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 14:45:53 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 14:45:53 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 14:50:19 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 14:50:19 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 14:50:19 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 14:50:19 INFO: Config.SomeCodes.MakeDirectory() Directory created: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 14:50:19 INFO: Config.SomeCodes.MakeDirectory() Directory created: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 14:50:19 INFO: Config.SomeCodes.MakeDirectory() Directory created: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 14:50:19 INFO: Config.SomeCodes.MakeDirectory() Directory created: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 14:50:19 INFO: Config.SomeCodes.MakeDirectory() Directory created: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 14:50:19 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 14:50:19 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 14:50:20 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 14:50:20 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 14:50:20 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 14:50:20 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 14:50:20 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 14:50:25 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:18:02 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:18:02 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:18:02 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:18:02 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:18:02 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:18:02 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:18:02 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:18:02 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:18:02 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:18:02 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:18:02 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:18:02 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:18:02 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:18:03 INFO: Config.SomeCodes.ExtractResource() Resource File extracted: /kesalahan_server.wav
|
||||
2025-03-21 15:18:03 INFO: Config.SomeCodes.ExtractResource() Resource File extracted: /data_barcode_tidak_ditemukan.wav
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:18:03 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:18:03 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:18:03 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:18:09 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:18:11 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:18:23 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 15:18:23 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 15:19:32 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:19:32 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:19:32 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:19:32 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:19:32 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:19:32 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:19:32 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:19:32 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:19:32 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:19:32 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:19:32 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:19:32 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:19:32 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:19:32 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:19:33 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:19:33 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:19:33 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:19:38 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:19:43 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:19:50 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 15:19:50 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 15:23:01 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:23:01 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:23:01 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:23:01 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:23:01 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:23:01 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:23:01 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:23:01 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:23:01 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:23:01 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:23:02 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:23:02 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:23:02 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:23:02 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:23:02 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:23:07 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:23:08 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:23:08 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:23:08 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:23:08 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:24:41 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:24:41 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:24:41 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:24:41 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:24:41 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:24:41 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:24:41 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:24:41 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:24:41 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:24:41 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:24:41 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:24:41 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:24:41 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:24:42 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:24:42 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:24:42 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:24:48 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:24:49 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:28:22 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:28:22 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:28:22 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:28:22 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:28:22 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:28:22 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:28:22 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:28:22 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:28:22 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:28:22 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:28:23 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:28:23 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:28:23 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:28:23 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:28:23 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:28:28 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:28:33 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:28:41 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 15:28:41 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 15:39:18 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:39:18 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:39:18 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:39:18 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:39:18 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:39:18 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:39:18 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:39:18 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:39:18 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:39:18 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:39:19 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:39:19 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:39:19 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:39:19 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:39:19 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:39:24 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:39:26 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:39:36 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:39:36 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:39:42 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 15:39:42 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 15:43:57 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:43:57 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:43:57 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:43:57 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:43:57 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:43:57 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:43:57 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:43:57 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:43:57 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:43:57 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:43:58 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:43:58 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:43:58 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:43:58 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:43:58 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:44:03 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:44:07 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:44:21 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 15:44:21 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 15:57:31 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:57:31 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:57:31 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:57:31 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:57:31 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:57:31 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:57:31 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:57:31 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:57:31 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:57:31 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:57:31 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:57:37 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:57:45 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 15:57:59 ERROR: id.co.gtc.erhacam.MainView.loadContent() loadContent Not loading empty fxml file
|
||||
2025-03-21 15:57:59 INFO: id.co.gtc.erhacam.MainApplication.lambda$start$0() Application closed
|
||||
2025-03-21 15:58:54 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 15:58:54 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 15:58:54 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 15:58:54 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 15:58:54 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 15:58:54 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 15:58:54 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 15:58:54 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 15:58:54 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 15:58:54 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 15:58:54 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 15:58:54 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 15:58:55 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 15:58:55 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 15:58:55 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 15:59:01 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 15:59:03 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 16:07:12 INFO: Config.ConfigFile.<init>() Current working directory in Java : C:\Users\Erha\IdeaProjects\ErhaCam
|
||||
2025-03-21 16:07:12 INFO: Config.ConfigFile.Load() Load config file at C:\Users\Erha\IdeaProjects\ErhaCam\config.properties
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() FaceMaxSize created with value : 500
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.Detectors.setFaceMaxSize() EyeMaxSize created with value : 83
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() FaceMinSize created with value : 250
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.Detectors.setFaceMinSize() EyeMinSize created with value : 41
|
||||
2025-03-21 16:07:12 INFO: Config.ConfigFile.Load() Config Loaded
|
||||
2025-03-21 16:07:12 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQuality
|
||||
2025-03-21 16:07:12 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\FullQualityCrop
|
||||
2025-03-21 16:07:12 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\Compressed
|
||||
2025-03-21 16:07:12 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\CompressedCrop
|
||||
2025-03-21 16:07:12 INFO: Config.SomeCodes.MakeDirectory() Directory exists: C:\Users\Erha\Desktop\ErhaCapture\thumbs
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.MainApplication.start() Secure Dongle UserID valid
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.CaptureView.initialize() Audio Player : Inited
|
||||
2025-03-21 16:07:12 INFO: Config.SomeCodes.LoadQRReader() QRReader loaded
|
||||
2025-03-21 16:07:12 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_frontalface_alt.xml
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.Detectors.LoadFrontalFaceDetector() FaceDetector loaded
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() Eye Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_eye.xml
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.Detectors.LoadEyeDetector() EyeDetector loaded
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() Profile Face Detector file : C:\Users\Erha\IdeaProjects\ErhaCam\haarcascade_profileface.xml
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.Detectors.LoadProfileFaceDetector() ProfileFaceDetector loaded
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.MainApplication.start() Application started
|
||||
2025-03-21 16:07:13 INFO: SecureDongle.SecureDongle.lambda$StartMonitor$0() Start Monitoring UserID=14022025
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.CaptureView.lambda$initialize$15() Left90 Index: 0
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : QR Reader loaded
|
||||
2025-03-21 16:07:13 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Face detector loaded
|
||||
2025-03-21 16:07:18 INFO: id.co.gtc.erhacam.CaptureView.onLog() [01] : Camera Started with resolution 2160x3840@0
|
||||
2025-03-21 16:07:51 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 16:08:12 ERROR: id.co.gtc.erhacam.CaptureView.call() Record associated with barcode
|
||||
2025-03-21 16:08:33 INFO: id.co.gtc.erhacam.CaptureView.onPlaybackStarted() Audio Positikan Muka Started
|
||||
2025-03-21 16:08:40 INFO: id.co.gtc.erhacam.CaptureView.onPlaybackFinished() Audio Positikan Muka Finished
|
||||
|
||||
Binary file not shown.
@@ -14,9 +14,8 @@ public class AudioPlayer {
|
||||
public void WaitUntilFinished(){
|
||||
while(currentFileHandle!=0){
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
Thread.sleep(10);
|
||||
} catch (InterruptedException ignored) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -102,9 +101,8 @@ public class AudioPlayer {
|
||||
* Play Audio File
|
||||
* @param filename File to be played
|
||||
* @param playbackstatus PlaybackStatus callback
|
||||
* @return true if success, false if failed
|
||||
*/
|
||||
public boolean PlayFile(final String filename, final PlaybackStatus playbackstatus){
|
||||
public void PlayFile(final String filename, final PlaybackStatus playbackstatus){
|
||||
if (inited && filename!=null && !filename.isEmpty()){
|
||||
int filehandle = bass.BASS_StreamCreateFile(false, filename, 0, 0, 0);
|
||||
if (filehandle!=0){
|
||||
@@ -136,11 +134,18 @@ public class AudioPlayer {
|
||||
currentFile = "";
|
||||
currentFileHandle = 0;
|
||||
}).start();
|
||||
return true;
|
||||
} else Logger.error("AudioPlayer PlayFile failed, BASS_ChannelStart failed, error code: "+bass.BASS_ErrorGetCode());
|
||||
} else Logger.error("AudioPlayer PlayFile failed, BASS_StreamCreateFile failed, error code: "+bass.BASS_ErrorGetCode());
|
||||
} else Logger.info("AudioPlayer PlayFile failed, AudioPlayer is not initialized");
|
||||
return false;
|
||||
} else {
|
||||
Logger.error("AudioPlayer PlayFile failed, BASS_ChannelStart failed, error code: "+bass.BASS_ErrorGetCode());
|
||||
if (playbackstatus!=null) playbackstatus.onPlaybackFailure(filename);
|
||||
}
|
||||
} else {
|
||||
Logger.error("AudioPlayer PlayFile failed, BASS_StreamCreateFile failed, error code: "+bass.BASS_ErrorGetCode());
|
||||
if (playbackstatus!=null) playbackstatus.onPlaybackFailure(filename);
|
||||
}
|
||||
} else {
|
||||
Logger.info("AudioPlayer PlayFile failed, AudioPlayer is not initialized");
|
||||
if (playbackstatus!=null) playbackstatus.onPlaybackFailure(filename);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,12 @@ public interface LiveCamEvent {
|
||||
void onDetectedQRCode(String qrCode);
|
||||
void onFrontalFaceDetector(boolean hasface, int width, int height);
|
||||
void onProfileFaceDetector(boolean hasface, int width, int height);
|
||||
void onEyeDetector(boolean hasEye, int width, int height);
|
||||
void onEyeDetector(boolean hasEye);
|
||||
void onLeftEarDetector(boolean hasLeftEar, int width, int height);
|
||||
void onRightEarDetector(boolean hasRightEar, int width, int height);
|
||||
void onLeftEyeDetector(boolean hasLeftEye, int width, int height);
|
||||
void onRightEyeDetector(boolean hasRightEye, int width, int height);
|
||||
void onLog(String log);
|
||||
void onBlink(int counter);
|
||||
void onStartCapturing();
|
||||
}
|
||||
|
||||
@@ -45,6 +45,11 @@ public class ConfigFile {
|
||||
private @Getter int cascadeMinSize;
|
||||
private @Getter int cascadeMaxSize;
|
||||
|
||||
private @Getter boolean MirrorCamera = false;
|
||||
private @Getter boolean FlipCamera = false;
|
||||
|
||||
private @Getter double SharpnessThreshold;
|
||||
|
||||
private boolean needsave = false;
|
||||
|
||||
public ConfigFile(){
|
||||
@@ -53,6 +58,27 @@ public class ConfigFile {
|
||||
Load();
|
||||
}
|
||||
|
||||
public void setMirrorCamera(boolean value){
|
||||
if (MirrorCamera != value){
|
||||
MirrorCamera = value;
|
||||
needsave = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void setFlipCamera(boolean value){
|
||||
if (FlipCamera != value){
|
||||
FlipCamera = value;
|
||||
needsave = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void setSharpnessThreshold(double value){
|
||||
if (SharpnessThreshold != value){
|
||||
SharpnessThreshold = value;
|
||||
needsave = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void setCascadeScaleFactor(double value){
|
||||
if (cascadeScaleFactor != value){
|
||||
cascadeScaleFactor = value;
|
||||
@@ -554,6 +580,10 @@ public class ConfigFile {
|
||||
if (prop.getProperty("FTPPass") == null) allcorrect = false;
|
||||
if (prop.getProperty("FTPPath") == null) allcorrect = false;
|
||||
if (prop.getProperty("PhotoDirectory") == null) allcorrect = false;
|
||||
if (prop.getProperty("MirrorCamera") == null) allcorrect = false;
|
||||
if (prop.getProperty("FlipCamera") == null) allcorrect = false;
|
||||
if (prop.getProperty("SharpnessThreshold") == null) allcorrect = false;
|
||||
|
||||
|
||||
if (prop.getProperty(CameraConfigEnum.CameraConfigLeft90.toString()) == null) allcorrect = false;
|
||||
if (prop.getProperty(CameraConfigEnum.CameraConfigLeft45.toString()) == null) allcorrect = false;
|
||||
@@ -601,6 +631,11 @@ public class ConfigFile {
|
||||
Detectors.setFaceMinSize(cascadeMinSize);
|
||||
Detectors.setScaleFactor(cascadeScaleFactor);
|
||||
|
||||
MirrorCamera = toBoolean(prop.getProperty("MirrorCamera"));
|
||||
FlipCamera = toBoolean(prop.getProperty("FlipCamera"));
|
||||
|
||||
SharpnessThreshold = toDouble(prop.getProperty("SharpnessThreshold"));
|
||||
|
||||
Logger.info("Config Loaded");
|
||||
MakeDirectories();
|
||||
return;
|
||||
@@ -653,6 +688,9 @@ public class ConfigFile {
|
||||
Detectors.setFaceMaxSize(cascadeMaxSize);
|
||||
Detectors.setFaceMinSize(cascadeMinSize);
|
||||
Detectors.setScaleFactor(cascadeScaleFactor);
|
||||
MirrorCamera = false;
|
||||
FlipCamera = false;
|
||||
SharpnessThreshold = 300.0;
|
||||
Logger.info("Default Config Created");
|
||||
needsave = true;
|
||||
Save();
|
||||
@@ -709,6 +747,10 @@ public class ConfigFile {
|
||||
prop.setProperty("cascadeMinSize", String.valueOf(cascadeMinSize));
|
||||
prop.setProperty("cascadeMaxSize", String.valueOf(cascadeMaxSize));
|
||||
|
||||
prop.setProperty("MirrorCamera", String.valueOf(MirrorCamera));
|
||||
prop.setProperty("FlipCamera", String.valueOf(FlipCamera));
|
||||
prop.setProperty("SharpnessThreshold", String.valueOf(SharpnessThreshold));
|
||||
|
||||
try{
|
||||
prop.store(new FileOutputStream(Path.of(currentDirectory, "config.properties").toString()), null);
|
||||
Logger.info("Config Saved");
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.bytedeco.opencv.opencv_core.Mat;
|
||||
import org.bytedeco.opencv.opencv_core.Rect;
|
||||
import org.bytedeco.opencv.opencv_core.Size;
|
||||
import org.bytedeco.opencv.opencv_core.UMat;
|
||||
import org.opencv.core.MatOfDouble;
|
||||
import org.tinylog.Logger;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
@@ -31,6 +32,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.bytedeco.opencv.global.opencv_core.CV_64F;
|
||||
import static org.bytedeco.opencv.global.opencv_core.CV_64FC3;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class SomeCodes {
|
||||
@@ -229,6 +231,10 @@ public class SomeCodes {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean toBoolean(String x){
|
||||
return x!=null && x.equalsIgnoreCase("true");
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if string is valid IPV4 address
|
||||
* @param ipaddress IPV4 address
|
||||
@@ -620,30 +626,48 @@ public class SomeCodes {
|
||||
if (values!=null && values.length>0){
|
||||
double lowest = values[0];
|
||||
for(double x : values){
|
||||
if (x>=0){
|
||||
if (x<lowest){
|
||||
lowest = x;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return lowest;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static boolean ValidDouble(String x){
|
||||
try{
|
||||
double xx = Double.parseDouble(x);
|
||||
return true;
|
||||
} catch (Exception ignored){
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static double CalculateSharpness(UMat mat){
|
||||
if (mat!=null && !mat.empty()){
|
||||
UMat gray = new UMat();
|
||||
opencv_imgproc.cvtColor(mat, gray, opencv_imgproc.COLOR_BGR2GRAY);
|
||||
opencv_imgproc.equalizeHist(gray, gray);
|
||||
|
||||
UMat laplacian = new UMat();
|
||||
|
||||
opencv_imgproc.Laplacian(gray, laplacian, CV_64F);
|
||||
|
||||
UMat mean = new UMat(1,1, CV_64F);
|
||||
UMat stddev = new UMat(1,1, CV_64F);
|
||||
|
||||
opencv_core.meanStdDev(laplacian, mean, stddev);
|
||||
|
||||
Mat _std = new Mat();
|
||||
stddev.copyTo(_std);
|
||||
|
||||
return _std.ptr(0).getDouble() * _std.ptr(0).getDouble();
|
||||
double value = _std.createIndexer().getDouble(0,0);
|
||||
|
||||
return Math.pow(value,2);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package id.co.gtc.erhacam;
|
||||
import javafx.animation.PauseTransition;
|
||||
import javafx.application.Platform;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.VBox;
|
||||
@@ -12,7 +13,12 @@ import javafx.stage.Stage;
|
||||
import javafx.stage.StageStyle;
|
||||
import javafx.util.Duration;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static Config.SomeCodes.ValidString;
|
||||
|
||||
public class AutoCloseAlert {
|
||||
|
||||
@@ -36,6 +42,22 @@ public class AutoCloseAlert {
|
||||
clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show an alert with a title, content, and automatically close after a few seconds
|
||||
* @param title the title of the alert
|
||||
* @param content the content of the alert
|
||||
* @param seconds the number of seconds before the alert is closed, or put 0 to keep it open
|
||||
* @param onClose What to do after auto close
|
||||
*/
|
||||
public static void show(String title, String content, int seconds, Consumer<String> onClose){
|
||||
Platform.runLater(()->{
|
||||
Stage alertStage = _showtext(title, "", content);
|
||||
closeAlertStage(seconds, onClose, alertStage);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Show an alert with a title, header, content, and automatically close after a few seconds
|
||||
* If called several times, the previous alert will be closed before showing a new one
|
||||
@@ -43,11 +65,25 @@ public class AutoCloseAlert {
|
||||
* @param header the header of the alert
|
||||
* @param content the content of the alert
|
||||
* @param seconds the number of seconds before the alert is closed, or put 0 to keep it open
|
||||
* @param onClose What to do after auto close
|
||||
*/
|
||||
public static void show(String title, String header, String content, int seconds) {
|
||||
public static void show(String title, String header, String content, int seconds, Consumer<String> onClose) {
|
||||
Platform.runLater(()->{
|
||||
Stage alertStage = _showtext(title, header, content);
|
||||
closeAlertStage(seconds, onClose, alertStage);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an alert with a title, header, and content
|
||||
* @param title the title
|
||||
* @param header the header
|
||||
* @param content the content
|
||||
* @return the alert stage
|
||||
*/
|
||||
private static Stage _showtext(String title, String header, String content){
|
||||
// close previous alert before showing a new one
|
||||
Optional.ofNullable(currentAlertStage).ifPresent(Stage::close);
|
||||
close();
|
||||
|
||||
Stage alertStage = new Stage();
|
||||
alertStage.initModality(Modality.APPLICATION_MODAL);
|
||||
@@ -58,14 +94,22 @@ public class AutoCloseAlert {
|
||||
double screenwidth = Screen.getPrimary().getVisualBounds().getWidth();
|
||||
double width = screenwidth/4;
|
||||
double height = width * 9 / 16;
|
||||
|
||||
List<Node> children = new ArrayList<>();
|
||||
if (ValidString(header)){
|
||||
Label headerLabel = new Label(header);
|
||||
headerLabel.setStyle("-fx-font-weight: bold; -fx-font-size: 16px;");
|
||||
headerLabel.setMinHeight(height*0.25);
|
||||
children.add(headerLabel);
|
||||
}
|
||||
if (ValidString(content)){
|
||||
Label contentLabel = new Label(content);
|
||||
contentLabel.setStyle("-fx-font-size: 12px;");
|
||||
contentLabel.setMinHeight(height*0.75);
|
||||
children.add(contentLabel);
|
||||
}
|
||||
|
||||
VBox root = new VBox(10, headerLabel, contentLabel);
|
||||
VBox root = new VBox(10, children.toArray(new Node[0]));
|
||||
root.setPrefSize(width, height);
|
||||
root.setAlignment(Pos.CENTER);
|
||||
|
||||
@@ -73,14 +117,23 @@ public class AutoCloseAlert {
|
||||
alertStage.setScene(scene);
|
||||
|
||||
alertStage.setTitle(title);
|
||||
currentAlertStage = alertStage;
|
||||
|
||||
alertStage.show();
|
||||
currentAlertStage = alertStage;
|
||||
shownHeader = ValidString(header) ? header : "";
|
||||
shownContent = ValidString(content) ? content : "";
|
||||
shownTitle = ValidString(title) ? title : "";
|
||||
|
||||
shownHeader = header;
|
||||
shownContent = content;
|
||||
shownTitle = title;
|
||||
return alertStage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the alert after a few seconds
|
||||
* @param seconds the number of seconds before the alert is closed, if 0, the alert will not be closed
|
||||
* @param onClose What to do after auto close
|
||||
* @param alertStage the alert stage to be closed
|
||||
*/
|
||||
private static void closeAlertStage(int seconds, Consumer<String> onClose, Stage alertStage) {
|
||||
if (seconds>0){
|
||||
PauseTransition delay = new PauseTransition(Duration.seconds(seconds));
|
||||
delay.setOnFinished(e -> {
|
||||
@@ -88,12 +141,10 @@ public class AutoCloseAlert {
|
||||
if (currentAlertStage == alertStage) {
|
||||
currentAlertStage = null;
|
||||
}
|
||||
if (onClose!=null) onClose.accept(shownTitle);
|
||||
clear();
|
||||
} );
|
||||
delay.play();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,6 +102,17 @@ public class Cameradetail {
|
||||
@FXML
|
||||
private Slider exposureSlider;
|
||||
|
||||
@FXML
|
||||
private Label face_indicator;
|
||||
|
||||
@FXML
|
||||
private Label eye_indicator;
|
||||
|
||||
@FXML
|
||||
private Label sharpness_indicator;
|
||||
|
||||
private Double sharpness_value = 0.0;
|
||||
|
||||
private @Getter final UMat BestMat = new UMat();
|
||||
private @Getter final UMat LiveMat = new UMat();
|
||||
private @Getter final UMat ReducedMat = new UMat();
|
||||
@@ -233,6 +244,30 @@ public class Cameradetail {
|
||||
}
|
||||
}
|
||||
|
||||
public void setSharpness_indicator(double value){
|
||||
if (value >= config.getSharpnessThreshold()){
|
||||
if (Platform.isFxApplicationThread()){
|
||||
sharpness_indicator.setText("OK");
|
||||
sharpness_indicator.setStyle("-fx-text-fill: green; -fx-border-color: black");
|
||||
} else {
|
||||
Platform.runLater(()->{
|
||||
sharpness_indicator.setText("OK");
|
||||
sharpness_indicator.setStyle("-fx-text-fill: green; -fx-border-color: black");
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (Platform.isFxApplicationThread()) {
|
||||
sharpness_indicator.setText("BAD");
|
||||
sharpness_indicator.setStyle("-fx-text-fill: red; -fx-border-color: black");
|
||||
} else {
|
||||
Platform.runLater(()->{
|
||||
sharpness_indicator.setText("BAD");
|
||||
sharpness_indicator.setStyle("-fx-text-fill: red; -fx-border-color: black");
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setSaturation(double value){
|
||||
if (mGrabber!=null){
|
||||
mGrabber.setOption(Videoio.CAP_PROP_SATURATION, value);
|
||||
@@ -805,12 +840,7 @@ public class Cameradetail {
|
||||
System.out.println("Camera "+cameratitle+" started");
|
||||
|
||||
Capturing.set(true);
|
||||
// just information
|
||||
String ss = String.format("Camera Started with resolution %dx%d@%d", BestSize.width(), BestSize.height(),LiveFPS);
|
||||
Platform.runLater(()->setCameraStatus(ss));
|
||||
raise_log(ss);
|
||||
|
||||
|
||||
if (event!=null) event.onStartCapturing();
|
||||
|
||||
Task<Image> task = new Task<>() {
|
||||
@SuppressWarnings("BusyWait")
|
||||
@@ -826,7 +856,11 @@ public class Cameradetail {
|
||||
TimerTask fpsTask = new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
LiveFPS = fps.getAndSet(0);
|
||||
int fpsval = fps.getAndSet(0);
|
||||
if (fpsval!=LiveFPS){
|
||||
LiveFPS = fpsval;
|
||||
if (event!=null) event.onStartCapturing();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -884,17 +918,32 @@ public class Cameradetail {
|
||||
fps.incrementAndGet();
|
||||
|
||||
UMat originalmat = new UMat();
|
||||
mat.copyTo(originalmat); // copy to BestMat for using OpenCL
|
||||
mat.copyTo(originalmat); // copy to originalmat for using OpenCL
|
||||
if (config.isMirrorCamera()){
|
||||
// revisi 18/03/2025
|
||||
UMat flippedmat = new UMat();
|
||||
opencv_core.flip(originalmat, flippedmat, 0); // flip vertical
|
||||
flippedmat.copyTo(originalmat);
|
||||
}
|
||||
if (config.isFlipCamera()){
|
||||
// revisi 18/03/2025
|
||||
UMat flippedmat = new UMat();
|
||||
opencv_core.flip(originalmat, flippedmat, 1); // flip horizontal
|
||||
opencv_core.rotate(flippedmat, BestMat, opencv_core.ROTATE_90_COUNTERCLOCKWISE);
|
||||
flippedmat.copyTo(originalmat);
|
||||
}
|
||||
|
||||
// rotate 90 degree counter clockwise karena kamera potrait
|
||||
opencv_core.rotate(originalmat, BestMat, opencv_core.ROTATE_90_COUNTERCLOCKWISE);
|
||||
|
||||
|
||||
|
||||
IsGrabbingLiveView.set(false);
|
||||
|
||||
if (!BestMat.empty()) {
|
||||
opencv_imgproc.resize(BestMat, LiveMat, LiveSize); // resize to LiveSize
|
||||
UMat graymat = new UMat(); // use OpenCL for grayscale
|
||||
opencv_imgproc.cvtColor(LiveMat,graymat, COLOR_BGR2GRAY); // convert to grayscale
|
||||
|
||||
if (use_qr){
|
||||
String qr = DetectQRFromMat(graymat);
|
||||
if (ValidBarCode(qr)){
|
||||
@@ -950,6 +999,7 @@ public class Cameradetail {
|
||||
|
||||
no_face_counter = 0;
|
||||
if (event!=null) event.onFrontalFaceDetector(true, _face_width, _face_height);
|
||||
face_indicator.setVisible(true);
|
||||
|
||||
if (theface.getFace()!=null){
|
||||
LiveMatROI = new Rect(theface.getFace().x(), theface.getFace().y(), theface.getFace().width(), theface.getFace().height());
|
||||
@@ -963,12 +1013,18 @@ public class Cameradetail {
|
||||
open_eye_counter++;
|
||||
continue;
|
||||
}
|
||||
System.out.println("Valid Open Eyes");
|
||||
//System.out.println("Valid Open Eyes");
|
||||
|
||||
|
||||
if (eye_state==0){
|
||||
if (eye_state!=1){
|
||||
// transisi dari tutup mata ke buka mata
|
||||
System.out.println("Transition from close to open eyes");
|
||||
eye_state = 1;
|
||||
if (event!=null) event.onEyeDetector(true);
|
||||
eye_indicator.setVisible(true);
|
||||
|
||||
|
||||
|
||||
long now = System.currentTimeMillis();
|
||||
if (waiting_for_second_blink){
|
||||
long diff = now - last_blink;
|
||||
@@ -984,7 +1040,6 @@ public class Cameradetail {
|
||||
}
|
||||
last_blink = now;
|
||||
}
|
||||
eye_state = 1;
|
||||
} else {
|
||||
// ada muka, tidak ada mata
|
||||
// transisi dari buka mata ke tutup mata
|
||||
@@ -993,19 +1048,23 @@ public class Cameradetail {
|
||||
close_eye_counter++;
|
||||
continue;
|
||||
}
|
||||
System.out.println("Valid Closed Eyes");
|
||||
//System.out.println("Valid Closed Eyes");
|
||||
if (eye_state!=0){
|
||||
System.out.println("Transition from open to close eyes");
|
||||
}
|
||||
eye_state = 0;
|
||||
if (event!=null) event.onEyeDetector(false);
|
||||
eye_indicator.setVisible(false);
|
||||
}
|
||||
}
|
||||
} else if (have_left_45_face ){
|
||||
no_face_counter = 0;
|
||||
if (event!=null) event.onProfileFaceDetector(true, _face_width, _face_height);
|
||||
face_indicator.setVisible(true);
|
||||
|
||||
} else {
|
||||
// no face detected, but let's not cancel the previous state immediately
|
||||
|
||||
if (no_face_counter>30){
|
||||
if (no_face_counter>90){
|
||||
// kalau tidak ada face selama 30 frame, reset state
|
||||
// 30 frame approximately 2 second
|
||||
eye_state = -1;
|
||||
@@ -1021,6 +1080,8 @@ public class Cameradetail {
|
||||
if (event!=null) {
|
||||
event.onFrontalFaceDetector(false, _face_width, _face_height);
|
||||
event.onProfileFaceDetector(false, _face_width, _face_height);
|
||||
face_indicator.setVisible(false);
|
||||
eye_indicator.setVisible(false);
|
||||
}
|
||||
} else no_face_counter++;
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@ import ErhaAPI.UploadResult;
|
||||
|
||||
import javafx.application.Platform;
|
||||
|
||||
import javafx.beans.InvalidationListener;
|
||||
import javafx.beans.Observable;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
@@ -76,7 +74,10 @@ public class CaptureView {
|
||||
private String audio_upload_berhasil = "upload_berhasil.wav";
|
||||
private String audio_upload_gagal = "upload_gagal.wav";
|
||||
private String audio_countdown = "countdown321.wav";
|
||||
private String audio_camera_shutter = "camera-shutter-click-01.wav";
|
||||
private String audio_tahan_posisi = "tahan_posisi.wav";
|
||||
private String audio_data_barcode_tidak_ditemukan = "data_barcode_tidak_ditemukan.wav";
|
||||
private String audio_kesalahan_server = "kesalahan_server.wav";
|
||||
|
||||
private List<String> cams;
|
||||
|
||||
@@ -91,7 +92,6 @@ public class CaptureView {
|
||||
|
||||
private final ErhaAPI erhaAPI = new ErhaAPI(false);
|
||||
|
||||
private final double sharpness_threshold = 150;
|
||||
@FXML
|
||||
private void ChangeDirectory(){
|
||||
DirectoryChooser dc = new DirectoryChooser();
|
||||
@@ -128,34 +128,23 @@ public class CaptureView {
|
||||
|
||||
@SuppressWarnings("resource")
|
||||
@FXML
|
||||
private void TakePhotos(){
|
||||
private void TakePhotos(String directory, String prefix){
|
||||
boolean has_face = Arrays.stream(have_face).anyMatch(AtomicBoolean::get);
|
||||
|
||||
if (has_face){
|
||||
AutoCloseAlert.show("Pengambilan Foto", "Tahan Posisi Anda", "Proses ini kurang lebih 3 detik", 5);
|
||||
AutoCloseAlert.show("Pengambilan Foto", "Tahan Posisi Anda", "Proses ini kurang lebih 3 detik", 5, null);
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_countdown)) {
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(), audio_tahan_posisi)){
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_tahan_posisi, ps);
|
||||
} else System.out.println("audioPlayer already playing countdown");
|
||||
audioPlayer.PlayFile(audio_tahan_posisi, new PlaybackStatus() {
|
||||
@Override
|
||||
public void onPlaybackStarted(String filename) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
// try{
|
||||
// AutoFocus();
|
||||
// Thread.sleep(1000);
|
||||
// } catch (InterruptedException e){
|
||||
// Logger.error("Error AutoFocus: "+e.getMessage());
|
||||
// }
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onPlaybackFinished(String filename) {
|
||||
Size thumbsize = new Size(160,120);
|
||||
String directory = config.getPhotoDirectory();
|
||||
String prefix = RemoveSpaces(medicalRecordID.getText()) ;
|
||||
if (ValidDirectory(directory)){
|
||||
if (ValidMedicalRecordId(prefix)){
|
||||
|
||||
PhotoReviewClass prc = new PhotoReviewClass();
|
||||
prc.setPrefix(prefix);
|
||||
@@ -164,19 +153,18 @@ public class CaptureView {
|
||||
|
||||
ExecutorService executor = Executors.newFixedThreadPool(5);
|
||||
|
||||
audioPlayer.PlayFile(audio_camera_shutter, null);
|
||||
|
||||
Callable<PhotoResult> task1 = ()->{
|
||||
if (image1!=null) {
|
||||
image1.RemapROI(0.1,0.3, false);
|
||||
|
||||
double sharpness = CalculateSharpness(image1.getBestMat());
|
||||
if (sharpness<sharpness_threshold){
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at Camera 1 with sharpness score "+sharpness, 5);
|
||||
return null;
|
||||
}
|
||||
double sharpness = CalculateSharpness(image1.getLiveMat());
|
||||
image1.setSharpness_indicator(sharpness);
|
||||
PhotoResult p1 = image1.TakePhoto(directory,prefix);
|
||||
p1.setSharpscore(sharpness);
|
||||
if (ValidFile(p1.getFullres())){
|
||||
if (ValidFile(p1.getCompressedfile())){
|
||||
p1.setSharpscore(sharpness);
|
||||
return p1;
|
||||
}
|
||||
}
|
||||
@@ -186,15 +174,12 @@ public class CaptureView {
|
||||
Callable<PhotoResult> task2 = ()->{
|
||||
if (image2!=null) {
|
||||
image2.RemapROI(0.1,0.3, false);
|
||||
double sharpness = CalculateSharpness(image2.getBestMat());
|
||||
if (sharpness<sharpness_threshold){
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at Camera 2 with sharpness score "+sharpness, 5);
|
||||
return null;
|
||||
}
|
||||
double sharpness = CalculateSharpness(image2.getLiveMat());
|
||||
image2.setSharpness_indicator(sharpness);
|
||||
PhotoResult p2 = image2.TakePhoto(directory,prefix);
|
||||
p2.setSharpscore(sharpness);
|
||||
if (ValidFile(p2.getFullres())){
|
||||
if (ValidFile(p2.getCompressedfile())){
|
||||
p2.setSharpscore(sharpness);
|
||||
return p2;
|
||||
}
|
||||
}
|
||||
@@ -205,16 +190,13 @@ public class CaptureView {
|
||||
Callable<PhotoResult> task3 = ()->{
|
||||
if (image3!=null) {
|
||||
image3.RemapROI(0.1,0.3, false);
|
||||
double sharpness = CalculateSharpness(image3.getBestMat());
|
||||
if (sharpness<sharpness_threshold){
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at Camera 3 with sharpness score "+sharpness, 5);
|
||||
return null;
|
||||
}
|
||||
double sharpness = CalculateSharpness(image3.getLiveMat());
|
||||
image3.setSharpness_indicator(sharpness);
|
||||
PhotoResult p3 = image3.TakePhoto(directory,prefix);
|
||||
p3.setSharpscore(sharpness);
|
||||
|
||||
if (ValidFile(p3.getFullres())){
|
||||
if (ValidFile(p3.getCompressedfile())){
|
||||
p3.setSharpscore(sharpness);
|
||||
return p3;
|
||||
}
|
||||
}
|
||||
@@ -226,16 +208,13 @@ public class CaptureView {
|
||||
Callable<PhotoResult> task4 = ()->{
|
||||
if (image4!=null) {
|
||||
image4.RemapROI(0.1,0.3, false);
|
||||
double sharpness = CalculateSharpness(image4.getBestMat());
|
||||
if (sharpness<sharpness_threshold){
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at Camera 4 with sharpness score "+sharpness, 5);
|
||||
return null;
|
||||
}
|
||||
double sharpness = CalculateSharpness(image4.getLiveMat());
|
||||
image4.setSharpness_indicator(sharpness);
|
||||
PhotoResult p4 = image4.TakePhoto(directory,prefix);
|
||||
p4.setSharpscore(sharpness);
|
||||
|
||||
if (ValidFile(p4.getFullres())){
|
||||
if (ValidFile(p4.getCompressedfile())){
|
||||
p4.setSharpscore(sharpness);
|
||||
return p4;
|
||||
}
|
||||
}
|
||||
@@ -247,16 +226,13 @@ public class CaptureView {
|
||||
Callable<PhotoResult> task5 = ()->{
|
||||
if (image5!=null) {
|
||||
image5.RemapROI(0.1,0.3, false);
|
||||
double sharpness = CalculateSharpness(image5.getBestMat());
|
||||
if (sharpness<sharpness_threshold){
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at Camera 5 with sharpness score "+sharpness, 5);
|
||||
return null;
|
||||
}
|
||||
double sharpness = CalculateSharpness(image5.getLiveMat());
|
||||
image5.setSharpness_indicator(sharpness);
|
||||
PhotoResult p5 = image5.TakePhoto(directory,prefix);
|
||||
p5.setSharpscore(sharpness);
|
||||
|
||||
if (ValidFile(p5.getFullres())){
|
||||
if (ValidFile(p5.getCompressedfile())){
|
||||
p5.setSharpscore(sharpness);
|
||||
return p5;
|
||||
}
|
||||
}
|
||||
@@ -295,7 +271,7 @@ public class CaptureView {
|
||||
System.out.println("Creating timestamp: "+timestamp);
|
||||
|
||||
// check for blurred image
|
||||
double score1=0, score2=0, score3=0, score4=0, score5=0;
|
||||
double score1=-1, score2=-1, score3=-1, score4=-1, score5=-1;
|
||||
if (p1!=null){
|
||||
score1 = p1.getSharpscore();
|
||||
}
|
||||
@@ -313,14 +289,16 @@ public class CaptureView {
|
||||
}
|
||||
System.out.println("Sharpness score: "+score1+", "+score2+", "+score3+", "+score4+", "+score5);
|
||||
double lowest = FindLowestValue(score1,score2,score3,score4,score5);
|
||||
if (lowest<sharpness_threshold){
|
||||
if (lowest<=config.getSharpnessThreshold()){
|
||||
String culprit = "";
|
||||
if (lowest==score1) culprit = "camera 1";
|
||||
else if (lowest==score2) culprit = "camera 2";
|
||||
else if (lowest==score3) culprit = "camera 3";
|
||||
else if (lowest==score4) culprit = "camera 4";
|
||||
else if (lowest==score5) culprit = "camera 5";
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at "+culprit+" with sharpness score "+lowest, 5);
|
||||
String lowest_string = String.format("%.2f", lowest);
|
||||
AutoCloseAlert.show("Take Photos Failed", "Blurred Image Detected", "Blurred Image Detected at "+culprit+" with sharpness score "+lowest_string, 5, null);
|
||||
isTakingPhoto.set(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -472,19 +450,75 @@ public class CaptureView {
|
||||
long duration = (System.nanoTime() - nanostart) / 1000000; // in milliseconds
|
||||
System.out.println("TakePhotos duration: "+duration+" ms");
|
||||
|
||||
AutoCloseAlert.show("Photos Taken", "Photos Taken", "Photos Taken", 5);
|
||||
AutoCloseAlert.show("Photos Taken", "Photos Taken", "Photos Taken", 5, null);
|
||||
|
||||
String[] files = prc.compressed();
|
||||
if (files.length>0){
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_pengambilan_berhasil)) {
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(),audio_pengambilan_berhasil)){
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_pengambilan_berhasil, ps);
|
||||
} else System.out.println("audioPlayer already playing pengambilan berhasil");
|
||||
audioPlayer.PlayFile(audio_pengambilan_berhasil, new PlaybackStatus() {
|
||||
@Override
|
||||
public void onPlaybackStarted(String filename) {
|
||||
|
||||
}
|
||||
|
||||
// file untuk di upload
|
||||
String[] files = prc.compressed();
|
||||
@Override
|
||||
public void onPlaybackFinished(String filename) {
|
||||
Platform.runLater(AutoCloseAlert::close);
|
||||
UploadFiles(prc, prefix);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlaybackFailure(String filename) {
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(),audio_pengambilan_gagal)){
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
audioPlayer.PlayFile(audio_pengambilan_gagal, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlaybackFailure(String filename) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// try{
|
||||
// AutoFocus();
|
||||
// Thread.sleep(1000);
|
||||
// } catch (InterruptedException e){
|
||||
// Logger.error("Error AutoFocus: "+e.getMessage());
|
||||
// }
|
||||
|
||||
|
||||
} else {
|
||||
AutoCloseAlert.show("Error", "No Face Detected", "No Face Detected", 5, null);
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(),audio_posisikan_muka)) {
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
audioPlayer.PlayFile(audio_posisikan_muka, null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void UploadFiles(PhotoReviewClass prc, String prefix){
|
||||
String[] files = prc.compressed();
|
||||
if (files.length>0){
|
||||
InsertSQL(prc);
|
||||
|
||||
@@ -521,60 +555,43 @@ public class CaptureView {
|
||||
uploadtask.setOnSucceeded(e-> {
|
||||
System.out.println("UploadTask succeeded");
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_upload_berhasil)) {
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(), audio_upload_berhasil)){
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_upload_berhasil, ps);
|
||||
} else System.out.println("audioPlayer already playing upload berhasil");
|
||||
audioPlayer.PlayFile(audio_upload_berhasil, null);
|
||||
}
|
||||
AutoCloseAlert.show("Upload Success", "Upload Success", "Upload Success", 5);
|
||||
}
|
||||
AutoCloseAlert.show("Upload Success", "Upload Success", "Upload Success", 5, s -> {
|
||||
isTakingPhoto.set(false);
|
||||
Platform.runLater(()->{
|
||||
barcodeData.setText("");
|
||||
medicalRecordID.setText("");
|
||||
PatientName.setText("");
|
||||
isTakingPhoto.set(false);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
uploadtask.setOnFailed(e-> {
|
||||
System.out.println("UploadTask failed");
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_upload_gagal)) {
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(), audio_upload_gagal)){
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_upload_gagal, ps);
|
||||
} else System.out.println("audioPlayer already playing upload gagal");
|
||||
|
||||
audioPlayer.PlayFile(audio_upload_gagal, null);
|
||||
}
|
||||
AutoCloseAlert.show("Upload Failed", "Upload Failed", "Upload Failed", 5);
|
||||
}
|
||||
AutoCloseAlert.show("Upload Failed", "Upload Failed", "Upload Failed", 5, s -> {
|
||||
isTakingPhoto.set(false);
|
||||
Platform.runLater(()->{
|
||||
barcodeData.setText("");
|
||||
medicalRecordID.setText("");
|
||||
PatientName.setText("");
|
||||
isTakingPhoto.set(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
new Thread(uploadtask).start();
|
||||
|
||||
} else ShowAlert(AlertType.ERROR, "Error", "No Photos Taken", "No Photos Taken, please check camera");
|
||||
} else ShowAlert(AlertType.ERROR, "Error", "Invalid Prefix", "Please input valid prefix or scan QR Code");
|
||||
} else ShowAlert(AlertType.ERROR,"Error","Invalid Directory","Please select valid directory");
|
||||
|
||||
|
||||
} else {
|
||||
AutoCloseAlert.show("Error", "No Face Detected", "No Face Detected", 5);
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_posisikan_muka)) {
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_posisikan_muka, ps);
|
||||
} else System.out.println("audioPlayer already playing posisikan muka");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@FXML
|
||||
@@ -586,22 +603,22 @@ public class CaptureView {
|
||||
audio_upload_berhasil = ExtractResource("/upload_berhasil.wav");
|
||||
audio_upload_gagal = ExtractResource("/upload_gagal.wav");
|
||||
audio_countdown = ExtractResource("/countdown321.wav");
|
||||
audio_camera_shutter = ExtractResource("/camera-shutter-click-01.wav");
|
||||
audio_tahan_posisi = ExtractResource("/tahan_posisi.wav");
|
||||
audio_kesalahan_server = ExtractResource("/kesalahan_server.wav");
|
||||
audio_data_barcode_tidak_ditemukan = ExtractResource("/data_barcode_tidak_ditemukan.wav");
|
||||
|
||||
|
||||
//tambahan 19/03/2025
|
||||
barcodeData.textProperty().addListener(new InvalidationListener() {
|
||||
@Override
|
||||
public void invalidated(Observable observable) {
|
||||
barcodeData.textProperty().addListener(observable -> {
|
||||
String barcode = barcodeData.getText();
|
||||
System.out.println("barcodeData invalidated, value: "+barcode);
|
||||
//System.out.println("barcodeData invalidated, value: "+barcode);
|
||||
if (ValidBarCode(barcode)){
|
||||
if (AutoCloseAlert.shownTitle.equals("Scan Barcode")){
|
||||
AutoCloseAlert.close();
|
||||
}
|
||||
} else {
|
||||
AutoCloseAlert.show("Scan Barcode", "Silahkan Scan Barcode Anda", "Arahkan kertas barcode ke kamera", 0);
|
||||
}
|
||||
AutoCloseAlert.show("Scan Barcode", "Silahkan Scan Barcode Anda", "Arahkan kertas barcode ke kamera", 0, null);
|
||||
}
|
||||
});
|
||||
barcodeData.setText("");
|
||||
@@ -722,59 +739,59 @@ public class CaptureView {
|
||||
config.Save();
|
||||
}
|
||||
|
||||
final PlaybackStatus ps = new PlaybackStatus(){
|
||||
|
||||
@Override
|
||||
public void onPlaybackStarted(String filename) {
|
||||
if (filename.contains(audio_posisikan_muka)){
|
||||
Logger.info("Audio Positikan Muka Started");
|
||||
} else if (filename.contains(audio_pengambilan_berhasil)){
|
||||
Logger.info("Audio Pengambilan Berhasil Started");
|
||||
} else if (filename.contains(audio_pengambilan_gagal)){
|
||||
Logger.info("Audio Pengambilan Gagal Started");
|
||||
} else if (filename.contains(audio_scan_barcode)){
|
||||
Logger.info("Audio Scan Barcode Started");
|
||||
} else if (filename.contains(audio_upload_berhasil)){
|
||||
Logger.info("Audio Upload Berhasil Started");
|
||||
} else if (filename.contains(audio_upload_gagal)){
|
||||
Logger.info("Audio Upload Gagal Started");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlaybackFinished(String filename) {
|
||||
if (filename.contains(audio_posisikan_muka)){
|
||||
Logger.info("Audio Positikan Muka Finished");
|
||||
} else if (filename.contains(audio_scan_barcode)){
|
||||
Logger.info("Audio Scan Barcode Finished");
|
||||
} else if (filename.contains(audio_upload_berhasil)){
|
||||
Logger.info("Audio Upload Berhasil Finished");
|
||||
} else if (filename.contains(audio_upload_gagal)){
|
||||
Logger.info("Audio Upload Gagal Finished");
|
||||
} else if (filename.contains(audio_pengambilan_berhasil)){
|
||||
Logger.info("Audio Pengambilan Berhasil Finished");
|
||||
} else if (filename.contains(audio_pengambilan_gagal)){
|
||||
Logger.info("Audio Pengambilan Gagal Finished");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlaybackFailure(String filename) {
|
||||
if (filename.contains(audio_posisikan_muka)){
|
||||
Logger.info("Audio Positikan Muka Failure");
|
||||
} else if (filename.contains(audio_upload_gagal)){
|
||||
Logger.info("Audio Upload Gagal Failure");
|
||||
} else if (filename.contains(audio_upload_berhasil)){
|
||||
Logger.info("Audio Upload Berhasil Failure");
|
||||
} else if (filename.contains(audio_pengambilan_berhasil)){
|
||||
Logger.info("Audio Pengambilan Berhasil Failure");
|
||||
} else if (filename.contains(audio_pengambilan_gagal)){
|
||||
Logger.info("Audio Pengambilan Gagal Failure");
|
||||
} else if (filename.contains(audio_scan_barcode)){
|
||||
Logger.info("Audio Scan Barcode Failure");
|
||||
}
|
||||
}
|
||||
};
|
||||
// final PlaybackStatus ps = new PlaybackStatus(){
|
||||
//
|
||||
// @Override
|
||||
// public void onPlaybackStarted(String filename) {
|
||||
// if (filename.contains(audio_posisikan_muka)){
|
||||
// Logger.info("Audio Positikan Muka Started");
|
||||
// } else if (filename.contains(audio_pengambilan_berhasil)){
|
||||
// Logger.info("Audio Pengambilan Berhasil Started");
|
||||
// } else if (filename.contains(audio_pengambilan_gagal)){
|
||||
// Logger.info("Audio Pengambilan Gagal Started");
|
||||
// } else if (filename.contains(audio_scan_barcode)){
|
||||
// Logger.info("Audio Scan Barcode Started");
|
||||
// } else if (filename.contains(audio_upload_berhasil)){
|
||||
// Logger.info("Audio Upload Berhasil Started");
|
||||
// } else if (filename.contains(audio_upload_gagal)){
|
||||
// Logger.info("Audio Upload Gagal Started");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onPlaybackFinished(String filename) {
|
||||
// if (filename.contains(audio_posisikan_muka)){
|
||||
// Logger.info("Audio Positikan Muka Finished");
|
||||
// } else if (filename.contains(audio_scan_barcode)){
|
||||
// Logger.info("Audio Scan Barcode Finished");
|
||||
// } else if (filename.contains(audio_upload_berhasil)){
|
||||
// Logger.info("Audio Upload Berhasil Finished");
|
||||
// } else if (filename.contains(audio_upload_gagal)){
|
||||
// Logger.info("Audio Upload Gagal Finished");
|
||||
// } else if (filename.contains(audio_pengambilan_berhasil)){
|
||||
// Logger.info("Audio Pengambilan Berhasil Finished");
|
||||
// } else if (filename.contains(audio_pengambilan_gagal)){
|
||||
// Logger.info("Audio Pengambilan Gagal Finished");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onPlaybackFailure(String filename) {
|
||||
// if (filename.contains(audio_posisikan_muka)){
|
||||
// Logger.info("Audio Positikan Muka Failure");
|
||||
// } else if (filename.contains(audio_upload_gagal)){
|
||||
// Logger.info("Audio Upload Gagal Failure");
|
||||
// } else if (filename.contains(audio_upload_berhasil)){
|
||||
// Logger.info("Audio Upload Berhasil Failure");
|
||||
// } else if (filename.contains(audio_pengambilan_berhasil)){
|
||||
// Logger.info("Audio Pengambilan Berhasil Failure");
|
||||
// } else if (filename.contains(audio_pengambilan_gagal)){
|
||||
// Logger.info("Audio Pengambilan Gagal Failure");
|
||||
// } else if (filename.contains(audio_scan_barcode)){
|
||||
// Logger.info("Audio Scan Barcode Failure");
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
|
||||
private void SetupCameraWithController(Cameradetail image, String cameraname, int devicenumber){
|
||||
if (image!=null){
|
||||
@@ -896,7 +913,7 @@ public class CaptureView {
|
||||
Platform.runLater(()-> barcodeData.setText(finalbarCode));
|
||||
Task<PatientRecord> checkpatientID = new Task<>() {
|
||||
@Override
|
||||
protected PatientRecord call() {
|
||||
protected PatientRecord call() throws Exception {
|
||||
BarcodeResullt br = erhaAPI.Validate_Barcode(finalbarCode,true);
|
||||
if (br!=null){
|
||||
if (br.message.startsWith("Records found")){
|
||||
@@ -906,13 +923,29 @@ public class CaptureView {
|
||||
if (!pr.name.isEmpty()){
|
||||
super.succeeded();
|
||||
return pr;
|
||||
} else System.out.println("PatientRecord name is empty");
|
||||
} else System.out.println("PatientRecord medical_record_detail_id is empty");
|
||||
} else System.out.println("BarcodeResullt data is empty");
|
||||
} else System.out.println("BarcodeResullt message is not Records found");
|
||||
} else System.out.println("BarcodeResullt is null");
|
||||
super.failed();
|
||||
return null;
|
||||
} else {
|
||||
Logger.error("Barcode ",finalbarCode," PatientRecord name is empty");
|
||||
throw new Exception("Barcode "+finalbarCode+" PatientRecord name kosong");
|
||||
}
|
||||
} else {
|
||||
Logger.error("Barcode ",finalbarCode," PatientRecord medical_record_detail_id is empty");
|
||||
throw new Exception("Data dengan barcode "+finalbarCode+", PatientRecord medical_record_detail_id kosong");
|
||||
}
|
||||
} else {
|
||||
Logger.error("Record associated with barcode ",finalbarCode," is empty");
|
||||
//AutoCloseAlert.show("Data Tidak Ditemukan","Data dengan barcode "+finalbarCode+" ditemukan di server, tetapi kosong","Pastikan data barcode anda benar", 5);
|
||||
throw new Exception("Data dengan barcode "+finalbarCode+" ditemukan di server, tetapi kosong");
|
||||
}
|
||||
} else {
|
||||
Logger.error("Record associated with barcode ",finalbarCode," is not found");
|
||||
//AutoCloseAlert.show("Data Tidak Ditemukan","Data dengan barcode "+finalbarCode+" tidak ditemukan di server","Pastikan data barcode anda benar",5);
|
||||
throw new Exception("Data dengan barcode "+finalbarCode+" tidak ditemukan di server");
|
||||
}
|
||||
} else {
|
||||
Logger.error("BarcodeResullt with barcode ",finalbarCode," is null");
|
||||
//AutoCloseAlert.show("Data Tidak Ditemukan", "BarcodeResult dengan barcode "+finalbarCode+" menghasilkan null", "Pastikan data barcode anda benar", 5);
|
||||
throw new Exception("BarcodeResult dengan barcode "+finalbarCode+" menghasilkan null");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -926,26 +959,37 @@ public class CaptureView {
|
||||
});
|
||||
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_posisikan_muka)) {
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(),audio_posisikan_muka)) {
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_posisikan_muka, ps);
|
||||
} else System.out.println("audioPlayer already playing posisikan muka");
|
||||
audioPlayer.PlayFile(audio_posisikan_muka, null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
checkpatientID.setOnFailed(event -> {
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(), audio_data_barcode_tidak_ditemukan)) {
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
audioPlayer.PlayFile(audio_data_barcode_tidak_ditemukan,null);
|
||||
}
|
||||
}
|
||||
Task<?> failed = (Task<?>) event.getSource();
|
||||
Throwable t = failed.getException();
|
||||
final String message = t.getMessage();
|
||||
System.out.println("checkpatientID.setOnFailed message : "+message);
|
||||
|
||||
|
||||
AutoCloseAlert.show("Data Tidak Ditemukan", message, "Pastikan data barcode anda benar", 5, s -> {
|
||||
isTakingPhoto.set(false);
|
||||
Platform.runLater(()->{
|
||||
medicalRecordID.setText("");
|
||||
PatientName.setText("");
|
||||
barcodeData.setText("");
|
||||
isTakingPhoto.set(false);
|
||||
});
|
||||
});
|
||||
|
||||
System.out.println("checkpatientID failed");
|
||||
AutoCloseAlert.show("Error","checkpatientID failed","checkpatientID failed",5);
|
||||
});
|
||||
|
||||
new Thread(checkpatientID).start();
|
||||
@@ -961,7 +1005,10 @@ public class CaptureView {
|
||||
public void onFrontalFaceDetector(boolean hasface, int width, int height) {
|
||||
if (hasface!= _have_face.get()){
|
||||
_have_face.set(hasface);
|
||||
update_status(image);
|
||||
if (!hasface) {
|
||||
_have_eye.set(false);
|
||||
}
|
||||
//update_status(image);
|
||||
|
||||
}
|
||||
|
||||
@@ -971,14 +1018,17 @@ public class CaptureView {
|
||||
public void onProfileFaceDetector(boolean hasface, int width, int height) {
|
||||
if (hasface!= _have_profile.get()){
|
||||
_have_profile.set(hasface);
|
||||
update_status(image);
|
||||
if (!hasface) {
|
||||
_have_eye.set(false);
|
||||
}
|
||||
//update_status(image);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEyeDetector(boolean hasEye, int width, int height) {
|
||||
// _have_eye.set(hasEye);
|
||||
public void onEyeDetector(boolean hasEye) {
|
||||
if (_have_face.get() || _have_profile.get()) _have_eye.set(hasEye);
|
||||
//update_status(image);
|
||||
}
|
||||
|
||||
@@ -1014,28 +1064,36 @@ public class CaptureView {
|
||||
|
||||
@Override
|
||||
public void onBlink(int counter) {
|
||||
if (isTakingPhoto.get()) return; // other camera is taking picture
|
||||
System.out.println("Blink detected at camera "+title+" delay= "+counter);
|
||||
|
||||
if (isTakingPhoto.get()) return; // other camera is taking picture
|
||||
String directory = config.getPhotoDirectory();
|
||||
String prefix = RemoveSpaces(medicalRecordID.getText()) ;
|
||||
if (ValidDirectory(directory)){
|
||||
if (ValidMedicalRecordId(prefix)){
|
||||
isTakingPhoto.set(true);
|
||||
String prefix = medicalRecordID.getText();
|
||||
if (!prefix.isEmpty()){
|
||||
System.out.println("Prefix valid, taking photo");
|
||||
TakePhotos();
|
||||
TakePhotos(directory,prefix);
|
||||
} else {
|
||||
System.out.println("Prefix invalid, not taking photo");
|
||||
isTakingPhoto.set(false);
|
||||
AutoCloseAlert.show("QR Code Not Available", "", "Please scan QR before continue", 5);
|
||||
AutoCloseAlert.show("QR Code Not Available", "", "Please scan QR before continue", 5, s -> AutoCloseAlert.show("Scan Barcode", "Silahkan Scan Barcode Anda", "Arahkan kertas barcode ke kamera", 0, null));
|
||||
if (audioPlayer!=null && audioPlayer.isInited()){
|
||||
if (!audioPlayer.getCurrentFile().equals(audio_scan_barcode)) {
|
||||
if (!Objects.equals(audioPlayer.getCurrentFile(), audio_scan_barcode)) {
|
||||
audioPlayer.StopCurrentPlayback();
|
||||
Wait(200);
|
||||
audioPlayer.PlayFile(audio_scan_barcode, ps);
|
||||
} else System.out.println("audioPlayer already playing scan barcode");
|
||||
|
||||
}
|
||||
|
||||
audioPlayer.PlayFile(audio_scan_barcode, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("Photo Directory invalid, not taking photo");
|
||||
isTakingPhoto.set(false);
|
||||
AutoCloseAlert.show("Invalid Photo Directory","Photo Directory not set", "Please set photo directory at Setting", 5, s -> AutoCloseAlert.show("Setting", "Setting", "Please set photo directory", 0, null));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartCapturing() {
|
||||
update_status(image);
|
||||
}
|
||||
|
||||
private void update_status(Cameradetail image){
|
||||
@@ -1047,15 +1105,13 @@ public class CaptureView {
|
||||
sb.append(image.getBestHeight());
|
||||
sb.append("@");
|
||||
sb.append(image.getLiveFPS());
|
||||
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");
|
||||
|
||||
|
||||
//if (_have_face.get()) sb.append(", Face");
|
||||
//if (_have_profile.get()) sb.append(", Face");
|
||||
//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());
|
||||
});
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public class MainApplication extends Application {
|
||||
Screen screen = Screen.getPrimary();
|
||||
Rectangle2D screenbound = screen.getVisualBounds();
|
||||
Scene scene = new Scene(fxmlLoader.load(), screenbound.getWidth(), screenbound.getHeight());
|
||||
stage.setTitle("MultiCam Capture App for ERHA 11032025-006");
|
||||
stage.setTitle("MultiCam Capture App for ERHA 27032025");
|
||||
stage.setScene(scene);
|
||||
stage.setResizable(true);
|
||||
stage.setMaximized(true);
|
||||
|
||||
@@ -2,8 +2,11 @@ package id.co.gtc.erhacam;
|
||||
|
||||
import FTP.FTPCheck;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.CheckBox;
|
||||
import javafx.scene.control.ComboBox;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.DirectoryChooser;
|
||||
@@ -13,6 +16,7 @@ import org.bytedeco.javacv.VideoInputFrameGrabber;
|
||||
import org.tinylog.Logger;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Objects;
|
||||
|
||||
import static Config.SomeCodes.*;
|
||||
|
||||
@@ -39,9 +43,18 @@ public class SettingView {
|
||||
@FXML
|
||||
private TextField FTPPath;
|
||||
|
||||
@FXML
|
||||
private TextField Sharpness;
|
||||
|
||||
@FXML
|
||||
private TextField PhotoDirectoryPath;
|
||||
|
||||
@FXML
|
||||
private CheckBox MirrorCamera;
|
||||
|
||||
@FXML
|
||||
private CheckBox FlipCamera;
|
||||
|
||||
|
||||
|
||||
final FileChooser jfc = new FileChooser();
|
||||
@@ -68,8 +81,20 @@ public class SettingView {
|
||||
PhotoDirectoryPath.setText(path);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void SharpnessApply(){
|
||||
String str = Sharpness.getText();
|
||||
if (ValidDouble(str)){
|
||||
config.setSharpnessThreshold(Double.parseDouble(str));
|
||||
config.Save();
|
||||
} else {
|
||||
ShowAlert(Alert.AlertType.ERROR, "Sharpness Setting Error", "Sharpness Setting Error", "Sharpness Setting must be a number");
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void CascadeSettingApply(){
|
||||
|
||||
String minsize = cascadeMinSize.getText();
|
||||
String scalefactor = cascadeScaleFactor.getText();
|
||||
String maxsize = cascadeMaxSize.getText();
|
||||
@@ -104,6 +129,7 @@ public class SettingView {
|
||||
} else show_cascade_alert("Max Size must not empty");
|
||||
} else show_cascade_alert("Min Size must not empty");
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void show_cascade_alert(String content){
|
||||
@@ -123,7 +149,17 @@ public class SettingView {
|
||||
Logger.error("Unable to detect Cameras, Msg : "+e.getMessage());
|
||||
}
|
||||
|
||||
MirrorCamera.selectedProperty().addListener(((observable, oldValue, newValue) -> {
|
||||
System.out.println("Mirror option changed to : "+newValue);
|
||||
config.setMirrorCamera(newValue);
|
||||
config.Save();
|
||||
}));
|
||||
|
||||
FlipCamera.selectedProperty().addListener((observable, oldValue, newValue) -> {
|
||||
System.out.println("Flip option changed to : "+newValue);
|
||||
config.setFlipCamera(newValue);
|
||||
config.Save();
|
||||
});
|
||||
|
||||
|
||||
Platform.runLater(()->{
|
||||
@@ -166,6 +202,12 @@ public class SettingView {
|
||||
cascadeScaleFactor.setText(String.valueOf(config.getCascadeScaleFactor()));
|
||||
cascadeMinSize.setText(String.valueOf(config.getCascadeMinSize()));
|
||||
cascadeMaxSize.setText(String.valueOf(config.getCascadeMaxSize()));
|
||||
|
||||
MirrorCamera.setSelected(config.isMirrorCamera());
|
||||
FlipCamera.setSelected(config.isFlipCamera());
|
||||
|
||||
Sharpness.setText(String.valueOf(config.getSharpnessThreshold()));
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<?import javafx.scene.image.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
|
||||
<AnchorPane prefHeight="720.0" prefWidth="360.0" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.co.gtc.erhacam.Cameradetail">
|
||||
<AnchorPane prefHeight="720.0" prefWidth="360.0" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.co.gtc.erhacam.Cameradetail">
|
||||
<children>
|
||||
<GridPane layoutX="5.0" layoutY="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<columnConstraints>
|
||||
@@ -22,6 +22,9 @@
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="20.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="10.0" prefWidth="100.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
@@ -37,6 +40,23 @@
|
||||
<Label fx:id="camerastatus" alignment="CENTER" style="-fx-border-color: black;" text="Camera Status" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" style="-fx-border-color: black;" GridPane.columnIndex="2">
|
||||
<children>
|
||||
<Label fx:id="face_indicator" alignment="CENTER" layoutY="8.0" prefHeight="30.0" prefWidth="35.0" text="Face" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
|
||||
|
||||
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" style="-fx-border-color: black;" GridPane.columnIndex="3">
|
||||
<children>
|
||||
<Label fx:id="eye_indicator" alignment="CENTER" layoutY="8.0" prefHeight="30.0" prefWidth="35.0" text="Eye" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="4">
|
||||
<children>
|
||||
<Label fx:id="sharpness_indicator" alignment="CENTER" layoutX="7.0" layoutY="8.0" prefHeight="30.0" prefWidth="35.0" style="-fx-border-color: black;" text="0.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
@@ -68,9 +88,9 @@
|
||||
<Insets />
|
||||
</GridPane.margin>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1">
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" scaleZ="0.0" GridPane.rowIndex="1">
|
||||
<children>
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="240.0" prefWidth="140.0" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="240.0" prefWidth="140.0" scaleZ="0.0" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<children>
|
||||
<Label text="Brightness" />
|
||||
<Slider fx:id="brightnessSlider" min="-100.0">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
|
||||
<AnchorPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefWidth="1024.0" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.co.gtc.erhacam.SettingView">
|
||||
<AnchorPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefWidth="1024.0" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.co.gtc.erhacam.SettingView">
|
||||
<children>
|
||||
<GridPane layoutX="70.0" layoutY="78.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<columnConstraints>
|
||||
@@ -11,7 +11,7 @@
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="200.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="300.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="200.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
@@ -41,7 +41,7 @@
|
||||
<children>
|
||||
<GridPane>
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="15.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="25.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="15.0" prefWidth="100.0" />
|
||||
</columnConstraints>
|
||||
@@ -51,6 +51,9 @@
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0">
|
||||
@@ -128,6 +131,41 @@
|
||||
<Button layoutX="22.0" layoutY="8.0" mnemonicParsing="false" onAction="#ApplyCameraRight90" prefHeight="40.0" prefWidth="88.0" text="Apply" AnchorPane.bottomAnchor="2.0" AnchorPane.leftAnchor="2.0" AnchorPane.rightAnchor="2.0" AnchorPane.topAnchor="2.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="5">
|
||||
<children>
|
||||
<Label layoutX="60.0" prefHeight="40.0" prefWidth="175.0" text="Mirror Camera" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0" AnchorPane.topAnchor="0.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="5">
|
||||
<children>
|
||||
<CheckBox fx:id="MirrorCamera" layoutX="30.0" layoutY="6.0" mnemonicParsing="false" prefHeight="40.0" prefWidth="175.0" AnchorPane.bottomAnchor="2.0" AnchorPane.leftAnchor="2.0" AnchorPane.rightAnchor="2.0" AnchorPane.topAnchor="2.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="6">
|
||||
<children>
|
||||
<Label prefHeight="40.0" prefWidth="175.0" text="Flip Camera" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0" AnchorPane.topAnchor="0.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="6">
|
||||
<children>
|
||||
<CheckBox fx:id="FlipCamera" mnemonicParsing="false" prefHeight="40.0" prefWidth="175.0" AnchorPane.bottomAnchor="2.0" AnchorPane.leftAnchor="2.0" AnchorPane.rightAnchor="2.0" AnchorPane.topAnchor="2.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="7">
|
||||
<children>
|
||||
<Label layoutX="32.0" layoutY="19.0" prefHeight="37.0" prefWidth="92.0" text="Sharpness Threshold" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0" AnchorPane.topAnchor="0.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
|
||||
<children>
|
||||
<TextField fx:id="Sharpness" layoutX="35.0" layoutY="2.0" prefHeight="37.0" prefWidth="368.0" promptText="if Sharpness below this number, photos considered as blurred" AnchorPane.bottomAnchor="2.0" AnchorPane.leftAnchor="2.0" AnchorPane.rightAnchor="2.0" AnchorPane.topAnchor="2.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane GridPane.columnIndex="2" GridPane.rowIndex="7">
|
||||
<children>
|
||||
<Button mnemonicParsing="false" onAction="#SharpnessApply" prefHeight="37.0" prefWidth="92.0" text="Apply" AnchorPane.bottomAnchor="2.0" AnchorPane.leftAnchor="2.0" AnchorPane.rightAnchor="2.0" AnchorPane.topAnchor="2.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</children>
|
||||
</GridPane>
|
||||
<GridPane GridPane.columnIndex="1">
|
||||
@@ -152,7 +190,7 @@
|
||||
</AnchorPane>
|
||||
<AnchorPane GridPane.rowIndex="1">
|
||||
<children>
|
||||
<ScrollPane layoutY="0.7999992370605469" prefHeight="200.8" prefWidth="410.4" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0" AnchorPane.topAnchor="0.0">
|
||||
<ScrollPane layoutX="5.0" prefHeight="200.8" prefWidth="410.4" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0" AnchorPane.topAnchor="0.0">
|
||||
<content>
|
||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="200.0" minWidth="0.0" prefWidth="350.0">
|
||||
<children>
|
||||
|
||||
BIN
voices/camera-shutter-click-01.wav
Normal file
BIN
voices/camera-shutter-click-01.wav
Normal file
Binary file not shown.
Reference in New Issue
Block a user