diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/animalrating/CameraProcessor.kt b/app/src/main/java/com/example/animalrating/CameraProcessor.kt
index fd57a73..ab91cb4 100644
--- a/app/src/main/java/com/example/animalrating/CameraProcessor.kt
+++ b/app/src/main/java/com/example/animalrating/CameraProcessor.kt
@@ -1,14 +1,17 @@
package com.example.animalrating
import android.Manifest
+import android.content.ContentValues
import android.content.pm.ActivityInfo
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.Color
import android.graphics.Matrix
+import android.os.Build
import android.os.Bundle
+import android.provider.MediaStore
import android.util.Log
-import android.widget.Button
+import android.util.Size
import android.widget.ImageView
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
@@ -23,6 +26,7 @@ import androidx.core.content.ContextCompat
import com.example.animalrating.ml.CowAnalyzer
import com.example.animalrating.ui.SilhouetteOverlay
import java.io.File
+import java.io.FileInputStream
import java.io.FileOutputStream
import java.util.concurrent.Executors
@@ -41,6 +45,9 @@ class CameraProcessor : AppCompatActivity(), CowAnalyzer.CowListener {
private var orientation: String? = null
private var currentMask: Bitmap? = null
private var savedMaskBitmap: Bitmap? = null
+ private var isPhotoTaken = false
+ private var matchThreshold = 75
+ private var algorithm = HomeActivity.ALGORITHM_HAMMING
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -49,6 +56,11 @@ class CameraProcessor : AppCompatActivity(), CowAnalyzer.CowListener {
cowName = intent.getStringExtra("COW_NAME")
orientation = intent.getStringExtra("ORIENTATION")
+ // Load settings
+ val prefs = getSharedPreferences("AnimalRatingPrefs", MODE_PRIVATE)
+ matchThreshold = prefs.getInt("THRESHOLD", 75)
+ algorithm = prefs.getString("ALGORITHM", HomeActivity.ALGORITHM_HAMMING) ?: HomeActivity.ALGORITHM_HAMMING
+
// Set orientation based on selected view
if (orientation == "front" || orientation == "back") {
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
@@ -61,33 +73,7 @@ class CameraProcessor : AppCompatActivity(), CowAnalyzer.CowListener {
segmentationOverlay = findViewById(R.id.segmentationOverlay)
savedMaskOverlay = findViewById(R.id.savedMaskOverlay)
- frameProcessor = FrameProcessor { maskBitmap ->
- runOnUiThread {
- if (maskBitmap != null && (orientation == "front" || orientation == "back")) {
- try {
- val matrix = Matrix()
- matrix.postRotate(90f)
- val rotatedBitmap = Bitmap.createBitmap(
- maskBitmap, 0, 0, maskBitmap.width, maskBitmap.height, matrix, true
- )
- currentMask = rotatedBitmap
- segmentationOverlay.setImageBitmap(rotatedBitmap)
- } catch (e: Exception) {
- Log.e("CameraProcessor", "Error rotating mask", e)
- currentMask = maskBitmap
- segmentationOverlay.setImageBitmap(maskBitmap)
- }
- } else {
- currentMask = maskBitmap
- segmentationOverlay.setImageBitmap(maskBitmap)
- }
- }
- }
-
- val btnSave = findViewById