aut*_*cat 10 python opencv src typeerror
免责声明:巨大的openCV新手
追溯(最近一次通话):
在第22行的文件“ lanes2.py”中
Run Code Online (Sandbox Code Playgroud)canny = canny(lane_image)文件“ lanes2.py”,第5行,在canny中
Run Code Online (Sandbox Code Playgroud)gray = cv2.cvtColor(imgUMat, cv2.COLOR_RGB2GRAY)TypeError:参数'src'的预期cv :: UMat
“ src”到底指的是什么?
Avi*_*dan 18
可以从以下使用numpy:
import numpy as np
image = np.array(image)
Run Code Online (Sandbox Code Playgroud)
src是的第一个参数cv2.cvtColor。
您收到的错误是因为它的格式不正确。cv2.Umat()在功能上等效于np.float32(),因此您的最后一行代码应为:
gray = (np.float32(imgUMat), cv2.COLOR_RGB2GRAY)
Run Code Online (Sandbox Code Playgroud)
不是你的代码是问题,这完全没问题:
gray = cv2.cvtColor(imgUMat, cv2.COLOR_RGB2GRAY)
Run Code Online (Sandbox Code Playgroud)
问题是 imgUMat 是None这样,您可能在加载图像时犯了一个错误:
imgUMat = cv2.imread("your_image.jpg")
Run Code Online (Sandbox Code Playgroud)
我怀疑您刚刚输入了错误的图像路径。
gray = cv2.cvtColor(cv2.UMat(imgUMat), cv2.COLOR_RGB2GRAY)
Run Code Online (Sandbox Code Playgroud)
UMat是透明API(TAPI)的一部分,有助于为CPU和OpenCL实现编写一个代码。
小智 5
np.ascontiguousarray使用以下命令将图像矩阵转换为连续数组:
gray = cv2.cvtColor(np.ascontiguousarray(imgUMat), cv2.COLOR_RGB2GRAY)
是canny你自己的功能吗?你在里面使用OpenCV 的Canny吗?如果是,请检查您是否提供合适的参数Canny- 第一个Canny参数应满足以下条件:
<type 'numpy.ndarray'>dtype('uint8')shape应该是 2- tupleof ints (tuple恰好包含 2 个整数)分别打印即可查看
type(variable_name)
variable_name.dtype
variable_name.shape
Run Code Online (Sandbox Code Playgroud)
替换variable_name为您作为第一个参数提供的变量名称Canny。