cv2 python 没有 imread 成员

pas*_*sha 19 opencv python-3.x

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

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

Ami*_*raj 53

由于您尝试使用 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"]
Run Code Online (Sandbox Code Playgroud)

这必须工作

  • 这使得 pylint 完全无法为我工作。我必须将 `"-- generated-members"` 更改为 `"-- generated-members=cv2.*"` (参见下面的答案) (2认同)

Nev*_*mba 39

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

from cv2 import cv2
Run Code Online (Sandbox Code Playgroud)

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


Adr*_*ian 7

解决方案 1:更改 pylint 设置

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

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

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