diff --git a/src/bindings/python/openalpr/openalpr.py b/src/bindings/python/openalpr/openalpr.py index 991b440..970af66 100644 --- a/src/bindings/python/openalpr/openalpr.py +++ b/src/bindings/python/openalpr/openalpr.py @@ -81,6 +81,9 @@ class Alpr(): self._set_country_func = self._openalprpy_lib.setCountry self._set_country_func.argtypes = [ctypes.c_void_p, ctypes.c_char_p] + self._set_prewarp_func = self._openalprpy_lib.setPrewarp + self._set_prewarp_func.argtypes = [ctypes.c_void_p, ctypes.c_char_p] + self._set_default_region_func = self._openalprpy_lib.setDefaultRegion self._set_default_region_func.argtypes = [ctypes.c_void_p, ctypes.c_char_p] @@ -181,6 +184,18 @@ class Alpr(): country = _convert_to_charp(country) self._set_country_func(self.alpr_pointer, country) + def set_prewarp(self, prewarp): + """ + Updates the prewarp configuration used to skew images in OpenALPR before + processing. + + :param prewarp: A unicode/ascii string (Python 2/3) or bytes array (Python 3) + :return: None + """ + prewarp = _convert_to_charp(prewarp) + self._set_prewarp_func(self.alpr_pointer, prewarp) + + def set_default_region(self, region): """ This sets the default region for detecting license plates. For example, diff --git a/src/bindings/python/openalprpy.cpp b/src/bindings/python/openalprpy.cpp index 5a4d039..55018d3 100644 --- a/src/bindings/python/openalprpy.cpp +++ b/src/bindings/python/openalprpy.cpp @@ -104,6 +104,14 @@ extern "C" { nativeAlpr->setCountry(country); } + OPENALPR_EXPORT void setPrewarp(Alpr* nativeAlpr, char* cprewarp) + { + // Convert strings from java to C++ and release resources + std::string prewarp(cprewarp); + + nativeAlpr->setPrewarp(prewarp); + } + OPENALPR_EXPORT void setDefaultRegion(Alpr* nativeAlpr, char* cdefault_region) { // Convert strings from java to C++ and release resources