From 68531bf4e37fae3fb5595c721c9756b29c0a79b3 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Mon, 9 Mar 2026 09:26:13 +0100 Subject: [PATCH] Fix quad stabilization (fix #131) --- .../org/fairscan/app/ui/screens/camera/QuadStabilizer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fairscan/app/ui/screens/camera/QuadStabilizer.kt b/app/src/main/java/org/fairscan/app/ui/screens/camera/QuadStabilizer.kt index c4aed6d..bba6b2d 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/camera/QuadStabilizer.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/camera/QuadStabilizer.kt @@ -24,6 +24,7 @@ class QuadStabilizer { private var lastRawQuad: Quad? = null fun update(rawQuad: Quad?): Quad? { + val previousQuad = lastRawQuad lastRawQuad = rawQuad if (rawQuad == null) { @@ -31,13 +32,12 @@ class QuadStabilizer { return null } - val lastRaw = lastRawQuad - if (lastRaw == null) { + if (previousQuad == null) { stableCount = 1 return null } - val dist = lastRaw.maxCornerDistanceTo(rawQuad) + val dist = previousQuad.maxCornerDistanceTo(rawQuad) // 20f is based on the assumption that the preview has a size of 640×480 if (dist < 20f) { stableCount++