From c6cdc0a5800e76fd25cd5d529070ba3710e1d3a6 Mon Sep 17 00:00:00 2001
From: Farhan Nabil Suryono <13521114@std.stei.itb.ac.id>
Date: Sat, 4 May 2024 14:32:00 +0000
Subject: [PATCH] fix: pattern preprocessing and bitmap size

---
 .../java/com/k2_9/omrekap/utils/CropHelper.kt     |  2 +-
 .../com/k2_9/omrekap/utils/PreprocessHelper.kt    | 15 +++++----------
 .../omrekap/views/activities/PreviewActivity.kt   |  3 ++-
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/k2_9/omrekap/utils/CropHelper.kt b/app/src/main/java/com/k2_9/omrekap/utils/CropHelper.kt
index b48ee52..1ff85ab 100644
--- a/app/src/main/java/com/k2_9/omrekap/utils/CropHelper.kt
+++ b/app/src/main/java/com/k2_9/omrekap/utils/CropHelper.kt
@@ -33,7 +33,7 @@ object CropHelper {
 		Utils.bitmapToMat(patternBitmap, cv8uc4pattern)
 		cvtColor(cv8uc4pattern, this.pattern, COLOR_BGR2GRAY)
 
-		PreprocessHelper.preprocessPattern(this.pattern)
+		this.pattern = PreprocessHelper.preprocessPattern(this.pattern)
 	}
 
 	fun detectCorner(img: Mat): CornerPoints {
diff --git a/app/src/main/java/com/k2_9/omrekap/utils/PreprocessHelper.kt b/app/src/main/java/com/k2_9/omrekap/utils/PreprocessHelper.kt
index 997c414..6858fea 100644
--- a/app/src/main/java/com/k2_9/omrekap/utils/PreprocessHelper.kt
+++ b/app/src/main/java/com/k2_9/omrekap/utils/PreprocessHelper.kt
@@ -50,27 +50,22 @@ object PreprocessHelper {
 	}
 
 	private fun preprocessMat(img: Mat): Mat {
-		return img.apply {
-			resizeMat(this)
-//			normalize(this)
-		}
+		return resizeMat(img)
 	}
 
 	fun preprocessPattern(img: Mat): Mat {
-		return img.apply {
-			normalize(this)
-		}
+		return normalize(img)
 	}
 
 	private fun resizeMat(img: Mat): Mat {
-		val resizedImg = Mat()
-		Imgproc.resize(img, resizedImg, Size(FINAL_WIDTH, FINAL_HEIGHT))
+		val resizedImg = Mat(Size(FINAL_WIDTH, FINAL_HEIGHT), img.type())
+		Imgproc.resize(img, resizedImg, Size(FINAL_WIDTH, FINAL_HEIGHT), 0.0, 0.0, Imgproc.INTER_CUBIC)
 		return resizedImg
 	}
 
 	private fun normalize(img: Mat): Mat {
 		val normalizedImg = Mat()
-		Core.normalize(img, normalizedImg)
+		Core.normalize(img, normalizedImg, 0.0, 255.0, Core.NORM_MINMAX)
 		return normalizedImg
 	}
 }
diff --git a/app/src/main/java/com/k2_9/omrekap/views/activities/PreviewActivity.kt b/app/src/main/java/com/k2_9/omrekap/views/activities/PreviewActivity.kt
index ecc6297..240353e 100644
--- a/app/src/main/java/com/k2_9/omrekap/views/activities/PreviewActivity.kt
+++ b/app/src/main/java/com/k2_9/omrekap/views/activities/PreviewActivity.kt
@@ -48,7 +48,8 @@ class PreviewActivity : AppCompatActivity() {
 		}
 
 		val bitmapOptions = BitmapFactory.Options()
-		bitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888
+		bitmapOptions.inPreferredConfig = Bitmap.Config.ALPHA_8
+		bitmapOptions.inScaled = false
 		val cornerPatternBitmap: Bitmap = BitmapFactory.decodeResource(resources, R.raw.corner_pattern, bitmapOptions)
 
 		CropHelper.loadPattern(cornerPatternBitmap)
-- 
GitLab