Move SSD OCR word bounds to typed Kotlin
ober
aa0832a0a956e649c7de850c106d852e7a53057d
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -128,13 +128,28 @@ (typed-kotlin-file "com/sfb/ssdreview/OcrWord.kt" (typed-library (com sfb ssdreview) - (export make-OcrWord OcrWord? OcrWord-text OcrWord-conf OcrWord-bbox) + (export make-OcrWord OcrWord? OcrWord-text OcrWord-conf OcrWord-bbox + ocrWordFromBounds) + (type Int32) (type Float32) (type FloatArray) (record OcrWord ((text : String) (conf : Float32) - (bbox : FloatArray))))) + (bbox : FloatArray))) + (def (ocrWordFromBounds (text : String) + (left : Int32) + (top : Int32) + (right : Int32) + (bottom : Int32)) : OcrWord + (make-OcrWord + text + (float32 80.0) + (float-array + (float32 left) + (float32 top) + (float32 right) + (float32 bottom)))))) (typed-kotlin-file "com/sfb/ssdreview/SsdCell.kt" (typed-library (com sfb ssdreview) @@ -5155,11 +5170,7 @@ " val box = element.boundingBox ?: line.boundingBox ?: block.boundingBox ?: return@forEach" " val text = element.text.trim()" " if (text.isNotBlank()) {" - " words.add(OcrWord(" - " text = text," - " conf = 80f," - " bbox = floatArrayOf(box.left.toFloat(), box.top.toFloat(), box.right.toFloat(), box.bottom.toFloat())" - " ))" + " words.add(ocrWordFromBounds(text, box.left, box.top, box.right, box.bottom))" " }" " }" " }"