paddleOCR 识别弯曲文本 报错的解决办法

将paddlepaddle 的版本从 2.2.0 降低到2.1.3 就行了。注意要运行两个命令:

python  tools/export_model.py -c configs/det/det_r50_vd_sast_totaltext.yml -o Global.checkpoints="./models/sast_r50_vd_total_text/best_accuracy" Global.save_inference_dir="./inference/det_sast_tt"

python3 tools/infer/predict_det.py --det_algorithm="SAST" --image_dir="./doc/imgs_en/img_10.jpg" --det_model_dir="./inference/det_sast_tt/" --det_sast_polygon=True --use_gpu=False

 /home/PaddleOCR {release/2.3} python3 tools/infer/predict_det.py --det_algorithm="SAST" --image_dir="./doc/imgs_en/img623.jpg" --det_model_dir="./inference/det_sast_tt/" --det_sast_polygon=True --use_gpu=False
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
/usr/local/lib/python3.8/site-packages/setuptools/depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
---    Fused 0 subgraphs into layer_norm op.
---    fused 0 pairs of fc gru patterns
Traceback (most recent call last):
  File "tools/infer/predict_det.py", line 242, in <module>
    res = text_detector(img)
  File "tools/infer/predict_det.py", line 218, in __call__
    post_result = self.postprocess_op(preds, shape_list)
  File "/home/PaddleOCR/ppocr/postprocess/sast_postprocess.py", line 341, in __call__
    poly_list = self.detect_sast(
  File "/home/PaddleOCR/ppocr/postprocess/sast_postprocess.py", line 237, in detect_sast
    instance_count, instance_label_map = self.cluster_by_quads_tco(
  File "/home/PaddleOCR/ppocr/postprocess/sast_postprocess.py", line 164, in cluster_by_quads_tco
    pred_tc = xy_text - tco
ValueError: operands could not be broadcast together with shapes (43093,2) (43093,8)

### 解决方案 在安装 `PaddleOCR` 的过程中,如果遇到 `setup.py` 阶段的报错问题,通常是因为某些依赖项未能成功编译或安装。以下是针对该问题的具体分析和解决方案: #### 1. **PyMuPDF 安装失败** 当尝试通过 `pip` 或者手动运行 `setup.py` 来构建 `PyMuPDF` 轮子文件时,可能会因为缺少必要的开发工具或者系统库而导致错误。具体表现为以下错误信息: ``` error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [86 lines of output] ``` 此问题的根本原因可能是缺失了 C++ 编译器或其他支持库。可以通过以下方法解决: - 确保已经安装了系统的开发工具链,例如 GCC 和 Make 工具。对于 Ubuntu 用户,可以执行以下命令来安装这些工具: ```bash sudo apt-get update && sudo apt-get install build-essential libffi-dev libssl-dev ``` - 如果仍然无法解决问题,则可以直接下载预编译好的二进制轮子文件并安装它: ```bash pip install --upgrade PyMuPDF ``` #### 2. **python-Levenshtein 安装失败** 另一个常见的问题是 `python-Levenshtein` 包的安装失败,其典型错误日志如下所示: ``` error: subprocess-exited-with-error × Running setup.py install for python-Levenshtein did not run successfully. × Encountered error while trying to install package. ╰─> python-Levenshtein note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. ``` 此类错误通常是由于缺乏 Python 开发头文件引起的。为了修复这个问题,建议采取以下措施之一: - 对于基于 Debian/Ubuntu 的 Linux 发行版,应确保已安装 Python 头文件及相关工具包: ```bash sudo apt-get install python3-dev ``` - 另外一种更简单的方法是跳过源码编译过程而直接使用纯 Python 实现版本替代原生扩展模块的方式完成安装操作: ```bash pip install python-Levenshtein[cpp]==0.12.* ``` #### 3. **其他可能的原因及处理办法** 除了以上提到的情况之外,还有可能存在网络连接不稳定、镜像站点不可达等因素影响到整个安装流程顺利完成的可能性。 ##### 使用国内镜像加速安装 为了避免因公网访问速度慢造成的超时中断现象发生,在实际操作前最好指定一个可靠的国内镜像地址作为默认源来进行组件获取工作。比如阿里云提供的公共 PyPI 镜像服务就可以很好地满足这一需求: ```bash pip install paddleocr -i https://mirrors.aliyun.com/pypi/simple/ ``` ##### 更新 setuptools 和 wheel 组件至最新稳定版本 有时候旧版本的打包工具也可能引发兼容性方面的问题,因此有必要提前做好升级准备动作: ```bash pip install --upgrade setuptools wheel ``` --- ### 总结 综上所述,要彻底消除 `PaddleOCR` 在 `setup.py` 执行期间产生的各种异常状况,可以从以下几个角度入手逐一排查并加以改进[^1][^2]: - 补充完善本地环境所需的全部基础软件设施; - 尝试切换不同的实现路径规避潜在的技术障碍; - 借助第三方优化过的分发渠道提升整体效率; 最终目标就是让所有必需品都能够顺利加载进来从而保障项目能够正常启动起来[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值