【问题标题】:cv2 python has no imread membercv2 python 没有 imread 成员
【发布时间】:2019-01-06 15:44:18
【问题描述】:

我 pip 安装了 OpenCV-python。安装似乎很好,我在 python IDLE 上对其进行了测试。它运行没有任何问题。我一直在尝试在 VS Code 上运行它,但它似乎不起作用。自动完成功能可以识别 imread 函数,但是当我输入它时会抛出一个错误,指出 cv2 没有 imread 成员。我用的是最新版本的python

我这样称呼它:img2 = cv2.imread("C:\Biometric\min.jpg", 0)

【问题讨论】:

  • 但是import cv2命令成功通过了吗?
  • 没有任何错误
  • 确保 IDLE 和 VS Code 在您计算机上的 python 上查看相同的实例。这只是你在 VS Code Python 实例中有一个名为 cv2 的包的可能性,它与 opencv 无关

标签: python-3.x opencv


【解决方案1】:

解决方案 1:更改 pylint 设置

  1. 从菜单“查看”或按 Ctrl + Shift + P 打开命令面板
  2. 键入“首选项:打开设置 (JSON)”并按 Enter 打开 settings.json 文件
  3. 在大括号包围的块中,在最后一行添加一个逗号,然后添加该行
"python.linting.pylintArgs": ["--generate-members=cv2.*"]
  1. 使用“文件”菜单或按 Ctrl + S 保存
  2. 返回您的 python 文件并说服自己“cv2”不再被 linter 标记,但仍检测到所有其他类型的错误

解决方案 2:使用不同的 linter

  1. 从菜单“查看”或按 Ctrl + Shift + P 打开命令面板
  2. 键入“Python:选择 Linter”并按 Enter 键
  3. 选择不同的 linter,例如flake8.
    要比较不同的 linter,请查看 https://realpython.com/python-code-quality/

【讨论】:

    【解决方案2】:

    试一下:

    **from cv2 import cv2**
    

    这肯定会奏效

    【讨论】:

    【解决方案3】:

    由于您尝试使用 VS Code 执行此操作,请尝试以下步骤

    (1) open palette on VS Code (use specifies command): CTRL + Shift + P
    (2) then select "Preferences: Open Settings (JSON)" option in the palette dropdown
    (3) then add the following line in the opened "settings.json" file
    "python.linting.pylintArgs": ["--generate-members"]
    

    这必须有效

    【讨论】:

    • 这完全阻止了 pylint 为我工作。我不得不将"--generated-members" 更改为"--generated-members=cv2.*"(请参阅下面的答案)
    【解决方案4】:

    Ctrl + Shift + P -> 首选项:打开设置 (JSON)
    然后添加以下内容:

    "python.linting.pylintArgs": ["--generate-members"]
    

    为我工作。

    【讨论】:

      【解决方案5】:

      我尝试了很多技巧。他们没有工作。有人建议:

      from cv2 import cv2
      

      我认为这是解决这个问题的最佳方法

      【讨论】:

      • @VibhorDube 嗯,这是一个 linter 问题,而不是代码,所以这可能是接受另一个问题的原因。
      【解决方案6】:

      转到终端并输入pylint --extension-pkg-whitelist=cv2

      它对我有用。

      【讨论】:

        【解决方案7】:

        如果您可以通过选择“在终端中运行 Python 文件”来运行您的代码,则可能是 VS Code 扩展的错误。见issue for details

        我认为您可以从您的机器禁用/卸载扩展程序或忽略它。

        【讨论】:

          猜你喜欢
          • 2018-05-31
          • 1970-01-01
          • 2020-09-19
          • 2021-03-19
          • 2020-09-01
          • 2020-05-08
          • 1970-01-01
          • 1970-01-01
          • 2019-09-17
          相关资源
          最近更新 更多