【Opencv报错】module ‘cv2.dnn’ has no attribute ‘DictValue’ 已解决

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

一、问题描述:

在下百度paddle ocr库时,根据官网教程下载,本人环境:

  • mac arm64
  • Python 3.11.0
  • pip 24.2

根据官方指南:

conda install paddlepaddle==2.5.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/

安装成功后,运行程序报错:AttributeError: module 'cv2.dnn' has no attribute 'DictValue'。检查系统环境:

  • opencv-python 4.6.0.66
  • opencv-contrib-python 4.10.0.84
  • paddle-bfloat 0.1.7
  • paddleocr 2.8.1
  • paddlepaddle 2.5.2

二、解决方法

升级opencv至4.7.0.72

 pip install --upgrade opencv-python==4.7.0.72

 AttributeError: module 'cv2.dnn' has no attribute 'DictValue'通常是由于 OpenCV 库版本与使用的代码不匹配而导致的。DictValue属性是在 OpenCV 版本 4.6.1 中引入的,因此尝试升级opencv库能解决报错。

4.6以上的opencv版本:

4.7.0.72, 4.8.0.74, 4.8.0.76, 4.8.1.78, 4.9.0.80, 4.10.0.82, 4.10.0.84(自行选择下载)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/paddle/__init__.py", line 79, in <module>
    import paddle.dataset  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/paddle/dataset/__init__.py", line 27, in <module>
    import paddle.dataset.flowers  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/paddle/dataset/flowers.py", line 36, in <module>
    from paddle.dataset.image import load_image_bytes, simple_transform
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/paddle/dataset/image.py", line 39, in <module>
    import cv2
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/cv2/__init__.py", line 175, in bootstrap
    if __load_extra_py_code_for_module("cv2", submodule, DEBUG):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/cv2/__init__.py", line 28, in __load_extra_py_code_for_module
    py_module = importlib.import_module(module_name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/marui/opt/anaconda3/envs/py_tf/lib/python3.11/site-packages/cv2/typing/__init__.py", line 171, in <module>
    LayerId = cv2.dnn.DictValue
              ^^^^^^^^^^^^^^^^^
AttributeError: module 'cv2.dnn' has no attribute 'DictValue'

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值