From 17587adf52cd06d9521e54f0855918a7fe057080 Mon Sep 17 00:00:00 2001 From: ArthurKun <16458204+ArthurKun21@users.noreply.github.com> Date: Fri, 31 Jan 2025 18:55:52 +0800 Subject: [PATCH] convert to nullable mat --- .../github/fate_grand_automata/imaging/DroidCvPattern.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/github/fate_grand_automata/imaging/DroidCvPattern.kt b/app/src/main/java/io/github/fate_grand_automata/imaging/DroidCvPattern.kt index eaac85f25..d6965d16b 100644 --- a/app/src/main/java/io/github/fate_grand_automata/imaging/DroidCvPattern.kt +++ b/app/src/main/java/io/github/fate_grand_automata/imaging/DroidCvPattern.kt @@ -75,7 +75,7 @@ class DroidCvPattern( target.tag = tag } - private fun match(template: Pattern): Mat { + private fun match(template: Pattern): Mat? { val result = Mat() if (template is DroidCvPattern) { if (template.width <= width && template.height <= height) { @@ -85,18 +85,18 @@ class DroidCvPattern( result, Imgproc.TM_CCOEFF_NORMED ) + return result } else { Timber.v("Skipped matching $template: Region out of bounds") } } - - return result + return null } override fun findMatches(template: Pattern, similarity: Double) = sequence { val result = match(template) - result.use { + result?.use { while (true) { val minMaxLocResult = Core.minMaxLoc(it) val score = minMaxLocResult.maxVal