免责声明:巨大的openCV菜鸟
Traceback(最近一次调用最后一次):
文件“lanes2.py”,第22行,in
canny = canny(lane_image)
在canny中输入“lanes2.py”,第5行
gray = cv2.cvtColor(imgUMat, cv2.COLOR_RGB2GRAY)
TypeError:参数'src'的预期cv :: UMat
究竟是什么'src'指的是什么?
gray = cv2.cvtColor(cv2.UMat(imgUMat), cv2.COLOR_RGB2GRAY)
UMat是Transparent API (TAPI)的一部分,而不是帮助为CPU和OpenCL实现编写一个代码。
src
是cv2.cvtColor
的第一个论据。
你得到的错误是因为它不是正确的形式。 cv2.Umat()
在功能上等同于np.float32()
,因此您的最后一行代码应为:
gray = (np.float32(imgUMat), cv2.COLOR_RGB2GRAY)
canny
是你自己的功能吗?你在里面使用OpenCV的Canny吗?如果是,请检查您是否为Canny
提供了合适的参数 - 首先Canny
参数应符合以下条件:
<type 'numpy.ndarray'>
dtype('uint8')
shape
应为tuple
s的2-int
(tuple
正好包含2个整数)您可以分别打印来检查它
type(variable_name)
variable_name.dtype
variable_name.shape
将variable_name
替换为您作为Canny
的第一个参数提供的变量名称。