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