From 3553e8f034f82d107ecee20f87d1d0df6f0b2bb4 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 10 Oct 2016 13:59:03 -0400 Subject: [PATCH] Fix for multi-line plates ordering characters incorrectly --- src/openalpr/ocr/ocr.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/openalpr/ocr/ocr.cpp b/src/openalpr/ocr/ocr.cpp index b7b075d..933c916 100644 --- a/src/openalpr/ocr/ocr.cpp +++ b/src/openalpr/ocr/ocr.cpp @@ -48,7 +48,12 @@ namespace alpr std::vector chars = recognize_line(line_idx, pipeline_data); for (uint32_t i = 0; i < chars.size(); i++) - postProcessor.addLetter(chars[i].letter, line_idx, chars[i].char_index, chars[i].confidence); + { + // For multi-line plates, set the character indexes to sequential values based on the line number + int line_ordered_index = (line_idx * config->postProcessMaxCharacters) + chars[i].char_index; + postProcessor.addLetter(chars[i].letter, line_idx, line_ordered_index, chars[i].confidence); + absolute_charpos++; + } }