我一直在尝试在同一个脚本中使用OpenCV显示图像并使用Pyplot绘制图表,但是我会收到一个错误:
重现此问题的最小代码如下:
问题只在同时使用opencv和pyplot时发生,如果我只使用其中一个库,则不会出现问题。
我正在使用Python 2.7、OpenCV 2.4.13和Matplotlib 1.5.1(也尝试过2.0.0b)在Mac OS X El Capitan 10.11.3的虚拟环境中。
更新:代码可以以不同的顺序执行而没有错误:
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6
,并伴随着多行神秘的错误日志,也在这个问题中显示。重现此问题的最小代码如下:
import cv2
import numpy as np
import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt
img = np.ones((50, 50), np.uint8)
cv2.imshow('image', img)
plt.figure()
plt.plot([1,2], [1,3])
plt.show()
问题只在同时使用opencv和pyplot时发生,如果我只使用其中一个库,则不会出现问题。
我正在使用Python 2.7、OpenCV 2.4.13和Matplotlib 1.5.1(也尝试过2.0.0b)在Mac OS X El Capitan 10.11.3的虚拟环境中。
更新:代码可以以不同的顺序执行而没有错误:
import cv2
import numpy as np
import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt
plt.figure()
plt.plot([1,2], [1,3])
plt.show()
img = np.ones((50, 50), np.uint8)
cv2.imshow('image', img)
更新2: 在调试器(PyCharm)中运行代码时,没有错误并且显示了两个图形。显然,交互模式中的某些东西绕过了这个问题。
cv2.ocl.setUseOpenCL(False)
进行尝试。 - Tes3awyAttributeError: 'module' object has no attribute 'ocl'
。 - Wingo