我在试着运行这个程序

import cv2
import time

cv.NamedWindow("camera", 1)

capture = cv.CaptureFromCAM(0)

while True:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    if cv.WaitKey(10) == 27:
        break
cv.DestroyAllWindows()

但我有numpy的问题,我使用pyschopy与opencv一起使用。 我一直得到的问题是这个错误报告:

RuntimeError:根据API版本7编译的模块,但是numpy的这个版本是6 回溯(最近一次调用): 文件“C:\Users\John\Documents\EyeTracking\Programs\GetImage.py”,第一行,在 进口cv2 ImportError: numpy.core.multiarray导入失败

我在psychopy文件夹中有numpy-1.6.1-py2.7,我只是不知道哪里出了问题?


当前回答

当我试图让OpenCV与Windows 10上的Python 3.9一起工作时,我找到了一个适合我的解决方案。

对于v2004以后的Windows版本,这是一个已知问题。

简而言之,你需要的NumPY版本是v1.19.3:

pip uninstall numpy

pip install numpy==1.19.3

或者在一个命令中完成,为pip使用——force-重装标志:

pip install --force-reinstall numpy==1.19.3

其他回答

刚刚修复了这个问题。导入c2或导入numpy无效。卸载了numpy的最新版本。尝试安装numpy==1.15.2,就像上面指定的那样,没有工作。尝试numpy==1.19.3 IT工作正常。我想并不是所有版本的python和依赖都能完美地工作。所以继续卸载,安装一个正常的。

你可能需要升级pip,它对我有用

pip install --upgrade pip
pip install -U numpy

运行此代码为我工作,似乎是版本问题。

pip uninstall numpy

pip install numpy==1.19.3

我在我的树莓4系统中遇到了这个错误。 我在开发一个使用opencv的Django后端。

解决我问题的是:

Sudo PIP install numpy==1.23.0

Raspberry信息:Linux raspberrypi 5.15.61-v7l+

Python版本:3.9

希望这能帮助到一些人。

我在conda环境中得到了同样的错误,仅仅在六年多之后。其他的回答都很有帮助,最终我找到了这个问题:

> conda list numpy
# packages in environment at [Anaconda3]:
#
# Name                    Version                   Build  Channel
numpy                     1.14.5                   pypi_0    pypi
numpy-base                1.18.1           py36hc3f5095_1
numpydoc                  0.9.1                    pypi_0    pypi

问题是'numpy'和'numpy-base'是不同的版本。我用以下方法解决了这个问题:

> conda install numpy-base=1.14.5

所以他们两个是匹配的。