运行 openalpr 使用 Python

Run openalpr using Python

在Ubuntu18.04我成功安装了openalpr并进行了测试。现在我想用python来调用它。为此,我安装了 https://pypi.org/project/openalpr/

pip install openalpr

但是我在路径方面遇到了问题,示例中的路径不起作用。

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

我收到一个错误

>>> 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

经过几个小时的搜索,我找到了一个不需要安装包的解决方案pip install openalpr

  • 转到包含 openaltr 源代码的目录。
cd openalpr/src/bindings/python/
  • 运行 安装 openalpr 作为系统范围的 python 包。
sudo python3 setup.py install
  • 开始交互式 Python 会话。
python3
  • 创建要使用的 alpr 对象。
from openalpr import Alpr
alpr = Alpr("us", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data/")

我遇到了这个错误,但是在手动安装 openalpr 并执行以下操作后:

cd openalpr/src/bindings/python/

sudo python3 setup.py install

这个修复对我来说没问题。