属性错误: 模块 'cv2' 没有属性 'dnn_DetectionModel'。

3
当我尝试运行这段代码时,为什么会出现“AttributeError: module 'cv2' has no attribute 'dnn_DetectionModel'”错误?
# get the weight configurations
 configPath = 
 '/Users/Rodne/MyComputerVision/Folder3/ssd_mobilenet_v3_large_coco_2020_01_14.pbtxt'
weightsPath = '/Users/Rodne/MyComputerVision/Folder3/frozen_inference_graph.pb'

# setting the bounding box
net = cv2.dnn_DetectionModel(weightsPath, configPath)
net.setInputSize(320, 320)

错误

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-6-355122b5b70e> in <module>()
      1 # setting the bounding box
----> 2 net = cv2.dnn_DetectionModel(weightsPath, configPath)
      3 net.setInputSize(320, 320)

AttributeError: module 'cv2' has no attribute 'dnn_DetectionModel'

我通过在终端中输入以下命令来升级我的openCV:pip install opencv-python --upgrade,以下是结果:

Collecting opencv-python
  Downloading opencv_python-4.4.0.42-cp37-cp37m-win_amd64.whl (33.5 MB)
     |████████████████████████████████| 33.5 MB 54 kB/s
Requirement already satisfied, skipping upgrade: numpy>=1.14.5 in d:\anaconda\lib\site-packages (from opencv-python) (1.18.5)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.4.0.42

这是我所拥有的唯一cv2.dnn: 在这里输入图片描述
3个回答

2

您也可以尝试更新opencv模块。在我的情况下,当我将opencv模块更新到opencv 4时,它起作用了。尝试运行此命令并查看是否有效:

pip install --upgrade opencv-python

2

我之前也遇到过完全相同的错误,请尝试添加完整路径。 - yudhiesh
啊,是的,你也可以这样做。我上面提供的链接可以同时支持Python和C++。 - yudhiesh
好的,我没有使用你使用的那个,请尝试使用我分享的链接。 - yudhiesh
天啊..无法理解链接中的指示... - Ibanez1408
这将会有所帮助,但是设置可能会很困难。 https://www.youtube.com/watch?v=fIpTks0G2m0 - yudhiesh
显示剩余7条评论

0
使用
```python net = cv2.dnn.readNetFromTensorflow(weightsPath, configPath) ```
而不是
```python net = cv2.dnn_DetectionModel(weightsPath, configPath) ```

你的回答可以通过提供更多支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人能够确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接