首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在python中运行OpenALPR时出错

尝试在python中运行OpenALPR时出错
EN

Stack Overflow用户
提问于 2020-10-03 05:30:08
回答 1查看 495关注 0票数 1

我自己很好地安装了OpenALPR,并且我能够在终端中运行它来获得以下结果:

代码语言:javascript
复制
C:\Users\zebsu>"C:\\OpenALPR\\Agent\\bin\\alpr.exe" "C:\\plate.jpg"
plate0: 3 results
State ID: us-oh (97% confidence)
    - PZ65BYV    confidence: 94.5181     pattern_match: 0
    - P265BYV    confidence: 81.1941     pattern_match: 0
    - P65BYV     confidence: 81.1336     pattern_match: 0

但是,我随后按照PyPI (https://pypi.org/project/openalpr/#description)上的说明使用pip install openalpr安装了openalpr python绑定。但是当我运行下面的代码时,他们建议使用python 3.8.6 x64:

代码语言:javascript
复制
import json
from openalpr import Alpr

alpr = Alpr("us", "C:/OpenALPR/Agent/etc/openalpr/openalpr.conf", "C:/OpenALPR/Agent/usr/share/openalpr/configruntime_data")
if not alpr.is_loaded():
    print("Error loading OpenALPR")
    sys.exit(1)
results = alpr.recognize_file("C:/image.jpg")
print(json.dumps(results, indent=4))
alpr.unload()

我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python38\lib\site-packages\openalpr\openalpr.py", line 70, in __init__
    self._openalprpy_lib = ctypes.cdll.LoadLibrary("libopenalpr.dll")
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python38\lib\ctypes\__init__.py", line 451, in LoadLibrary
    return self._dlltype(name)
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python38\lib\ctypes\__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'libopenalpr.dll' (or one of its dependencies). Try using the full path with constructor syntax.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\zebsu\OneDrive\compuuter science\work\LPR\LPR_test.py", line 4, in <module>
    alpr = Alpr("us", "C:/OpenALPR/Agent/etc/openalpr/openalpr.conf", "C:/OpenALPR/Agent/usr/share/openalpr/configruntime_data")
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python38\lib\site-packages\openalpr\openalpr.py", line 80, in __init__
    raise nex
OSError: Unable to locate the OpenALPR library. Please make sure that OpenALPR is properly installed on your system and that the libraries are in the appropriate paths.

这是我使用python 3.6.8 x32运行代码时得到的错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openalpr\openalpr.py", line 70, in __init__
    self._openalprpy_lib = ctypes.cdll.LoadLibrary("libopenalpr.dll")
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python36-32\lib\ctypes\__init__.py", line 426, in LoadLibrary
    return self._dlltype(name)
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python36-32\lib\ctypes\__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\zebsu\OneDrive\compuuter science\work\LPR\LPR_test.py", line 4, in <module>
    alpr = Alpr("us", "C:/OpenALPR/Agent/etc/openalpr/openalpr.conf", "C:/OpenALPR/Agent/usr/share/openalpr/configruntime_data")
  File "C:\Users\zebsu\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openalpr\openalpr.py", line 80, in __init__
    raise nex
OSError: Unable to locate the OpenALPR library. Please make sure that OpenALPR is properly installed on your system and that the libraries are in the appropriate paths.

我已经搜索了所有的互联网论坛,寻找答案,然而,大多数提交的是在openalpr绑定可以与pip一起安装之前的几年,并且必须从github安装。有人有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-10-03 07:34:15

我最终从另一个线程上的一个问题的答案中找到了解决方案,该线程有类似的错误,但使用的是不同的库:FileNotFoundError: Could not find module 'libvlc.dll'。问题是程序无法找到所需的dll文件,因此需要将dll文件所在的目录添加到python代码中的os中。对我来说,这意味着将以下代码添加到我的代码顶部:

代码语言:javascript
复制
import os
os.add_dll_directory("C:/OpenALPR/Agent/bin")

这一更改意味着代码完全按照它应该运行的方式运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64178461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档