pythonopenalpr

Run openalpr using Python


At Ubuntu 18.04 I successfully installed openalpr and tested it. Now I want to use python to call it. To do this, I installed https://pypi.org/project/openalpr/

pip install openalpr

But I'm having trouble with the paths, the ones in the example don't work.

alpr = Alpr("eu", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data")

I get an error

>>> from openalpr import Alpr
>>> alpr = Alpr("eu", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/y700/Env/carplate/lib/python3.7/site-packages/openalpr/openalpr.py", line 95, in __init__
    self._add_encoded_image_to_batch_func = self._openalprpy_lib.openalpr_add_encoded_image_to_batch
  File "/home/y700/anaconda3/lib/python3.7/ctypes/__init__.py", line 369, in __getattr__
    func = self.__getitem__(name)
  File "/home/y700/anaconda3/lib/python3.7/ctypes/__init__.py", line 374, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/libopenalpr.so.2: undefined symbol: openalpr_add_encoded_image_to_batch

Solution

  • After a few hours of searching, I found a solution that doesn't require a package installation pip install openalpr

    cd openalpr/src/bindings/python/
    
    sudo python3 setup.py install
    
    python3
    
    from openalpr import Alpr
    alpr = Alpr("us", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data/")