Fix quad stabilization (fix #131)

This commit is contained in:
Pierre-Yves Nicolas
2026-03-09 09:26:13 +01:00
parent c62fba87d8
commit 68531bf4e3

View File

@@ -24,6 +24,7 @@ class QuadStabilizer {
private var lastRawQuad: Quad? = null private var lastRawQuad: Quad? = null
fun update(rawQuad: Quad?): Quad? { fun update(rawQuad: Quad?): Quad? {
val previousQuad = lastRawQuad
lastRawQuad = rawQuad lastRawQuad = rawQuad
if (rawQuad == null) { if (rawQuad == null) {
@@ -31,13 +32,12 @@ class QuadStabilizer {
return null return null
} }
val lastRaw = lastRawQuad if (previousQuad == null) {
if (lastRaw == null) {
stableCount = 1 stableCount = 1
return null 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 // 20f is based on the assumption that the preview has a size of 640×480
if (dist < 20f) { if (dist < 20f) {
stableCount++ stableCount++