raoyutian / PaddleOCRSharp

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

At the same time, PaddleOCRSharp and PaddleSegSharp packaging conflicts are introduced #36

Closed netnr closed 6 months ago

netnr commented 10 months ago

一个项目同时引入 PaddleOCRSharp 和 PaddleSegSharp 打包冲突

2>找到了多个具有相同相对路径的发布输出文件: E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\concrt140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\concrt140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\libiomp5md.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\libiomp5md.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\mfc140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\mfc140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\mfcm140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\mfcm140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\mklml.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\mklml.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\msvcp140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\msvcp140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\msvcp140_1.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\msvcp140_1.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\msvcp140_2.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\msvcp140_2.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\msvcp140_atomic_wait.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\msvcp140_atomic_wait.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\msvcp140_codecvt_ids.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\msvcp140_codecvt_ids.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\onnxruntime.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\onnxruntime.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\paddle2onnx.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\paddle2onnx.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\paddle_inference.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\paddle_inference.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\vcamp140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\vcamp140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\vccorlib140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\vccorlib140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\vcomp140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\vcomp140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\vcruntime140.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\vcruntime140.dll, E:\package\nuget\globalPackagesFolder\paddlesegsharp\1.1.0\build\PaddleSegLib\vcruntime140_1.dll, E:\package\nuget\globalPackagesFolder\paddleocrsharp\4.0.2\build\PaddleOCRLib\vcruntime140_1.dll。

raoyutian commented 10 months ago

PaddleOCRSharp 和 PaddleSegSharp不同版本,依赖文件的版本也不同,会有冲突。 可以把OCR的库版本降到3.X版本。

raoyutian commented 10 months ago

paddle_inference.dll,paddle2onnx.dll,onnxruntime.dll,mklml.dll,ibiomp5md.dll,mkldnn.dll这些是关键,其他都是C++运行时依赖,一样的。

netnr commented 10 months ago

再反馈一下,包引入后在项目里面一堆 dll ,这个应该有类似的 Issue 提过,对比 Sdcb.PaddleOCR 包,引入就没有这个问题; 还有就 PaddleSegSharp 这个包发布成单文件运行会出错,而 PaddleOCRSharp 没有这个问题

raoyutian commented 10 months ago

PaddleSegSharp单文件问题,已修复但没有发布。

raoyutian commented 7 months ago

已经发布PaddleSegSharp版本,PaddleSegSharp与PaddleOCRSharp在大版本依赖同步。

netnr commented 7 months ago

打包还是提示 找到了多个具有相同相对路径的发布输出文件

raoyutian commented 7 months ago

打包还是提示 找到了多个具有相同相对路径的发布输出文件

你是用什么打包工具? 为什么要打包nuget包里面的文件? 如果你是打包自己的nuget包,应该不会涉及到我的nuget包。 如果你是打包文件夹,应该只需要包含你的运行目录下的文件,也不应该去找nuget包里面的文件