我正在尝试在此处运行第一个示例,但出现此错误。我正在使用Ubuntu 13.10。
Failed to load OpenCL runtime
OpenCV Error: Unknown error code -220 (OpenCL function is not available: [clGetPlatformIDs]) in opencl_check_fn, file /home/cristi/opencv/modules/core/src/opencl/runtime/opencl_core.cpp, line 204
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/cristi/opencv/modules/imgproc/src/color.cpp, line 3159
Traceback (most recent call last):
File "/home/cristi/opencv1/src/video.py", line 11, in <module>
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: /home/cristi/opencv/modules/imgproc/src/color.cpp:3159: error: (-215) scn == 3 || scn == 4 in function cvtColor
Process finished with exit code 1
另外,这是引起问题的行(我的代码中的第11行):
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
我应该怎么办?
无法加载OpenCL运行时
您的安装很可能存在一些问题。如果您不使用GPU,则建议您在编译期间关闭OpenCV中的所有CUDA / OpenCL模块。
错误:(-215)scn == 3 || scn == 4在函数cvtColor中
此错误表明您的输入图像应具有3通道(BGR /彩色图像)或4通道(RGBA图像)。因此,请frame
通过执行来检查进入的通道数print frame.shape
。
由于您正在处理视频,因此很有可能没有打开相机进行捕获,因此不会捕获该帧。在这种情况下,print frame.shape
将说它是NoneType
数据。
我建议您对图像而不是视频运行相同的代码。即使这样,即使出现OpenCL错误,也很可能是您的安装问题。如果一切正常,VideoCapture可能有问题。您可以按照同一教程中的说明进行检查:
有时,cap可能尚未初始化捕获。在这种情况下,此代码显示错误。您可以通过cap.isOpened()方法检查它是否已初始化。如果为True,则确定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句