raoyutian / PaddleOCRSharp

PaddleOCRSarp是一个基于百度飞桨PaddleOCR的C++代码修改并封装的.NET的OCR工具类库。包含文本识别、文本检测、表格识别功能。本项目针对小图识别不准的情况下做了优化,比飞桨原代码识别准确率有所提高。 包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测。
Apache License 2.0
617 stars 100 forks source link

python 始终找不到.\PaddleOCR.dll #43

Closed xiaolongzhuanshi closed 4 months ago

xiaolongzhuanshi commented 5 months ago

通过打印路径

dll_path = ".\PaddleOCR.dll" print("路径:", os.path.abspath(dll_path))

输出:路径: C:\Users\Administrator\PaddleOCR.dll 将PaddleOCR.dll复制进C:\Users\Administrator路径下,但是

paddleOCR=cdll.LoadLibrary(".\PaddleOCR.dll")

始终报错找不到

错误信息: PS C:\Users\Administrator> & E:/python/python.exe e:/工作软件/项目/python/python/PaddleOCRCppPython.py Traceback (most recent call last): File "e:/工作软件/项目/python/python/PaddleOCRCppPython.py", line 178, in paddleOCR=cdll.LoadLibrary(".\PaddleOCR.dll") File "E:\python\lib\ctypes__init__.py", line 434, in LoadLibrary return self._dlltype(name) File "E:\python\lib\ctypes__init.py", line 356, in init__ self._handle = _dlopen(self._name, mode) OSError: [WinError 126] 找不到指定的模块。

raoyutian commented 5 months ago

你文件在e:/工作软件/项目/python/python/目录下,PaddleOCR.dll应该也在,你可以修改路径自己去指定加载路径,以及模型路径。 都是路径的问题。没有什么问题。 提前用CPU检测工具检测CPU是否支持

xiaolongzhuanshi commented 5 months ago

你文件在e:/工作软件/项目/python/python/目录下,PaddleOCR.dll应该也在,你可以修改路径自己去指定加载路径,以及模型路径。 都是路径的问题。没有什么问题。 提前用CPU检测工具检测CPU是否支持

感谢回答,补充下我我问题,在文件夹下直接运行PaddleOCRCppPython.py文件是没有问题的,不过在vscode中执行就会出现上面的错误,因为我的python路径是指向C:\Users\Administrator的 于是我将PaddleOCR.dll拷贝到此文件夹下,但是没有成功,然后我再次我指定绝对路径后依然报错找不到指定的模块,不知道是我哪里路径没写对

更改代码:

指定加载路径为 E:\工作软件\项目\python\python

paddleOCR = cdll.LoadLibrary("E:\工作软件\项目\python\python\PaddleOCR.dll") encode = "gbk"

指定其他路径为绝对路径

root = "E:\工作软件\项目\python\python\" cls_infer = os.path.join(root, "inference", "ch_ppocr_mobile_v2.0_cls_infer") rec_infer = os.path.join(root, "inference", "ch_PP-OCRv4_rec_infer") det_infer = os.path.join(root, "inference", "ch_PP-OCRv4_det_infer") ocrkeys = os.path.join(root, "inference", "ppocr_keys.txt")