OpenCV TypeError: Se esperaba cv :: UMat para el argumento ‘src’ – ¿Qué es esto?

Descargo de responsabilidad: noob enorme openCV

Rastreo (llamadas recientes más última):

Archivo “lanes2.py”, línea 22, en

canny = canny(lane_image) 

Archivo “lanes2.py”, línea 5, en canny

 gray = cv2.cvtColor(imgUMat, cv2.COLOR_RGB2GRAY) 

TypeError: Se esperaba cv :: UMat para el argumento ‘src

¿A qué se refiere exactamente ‘src’?

 gray = cv2.cvtColor(cv2.UMat(imgUMat), cv2.COLOR_RGB2GRAY) 

UMat es una parte de la API transparente (TAPI) que ayuda a escribir un código para las implementaciones de CPU y OpenCL.

¿ canny es tu propia función? ¿ Usas Canny de OpenCV en su interior? En caso afirmativo, compruebe si proporciona un argumento adecuado para Canny : el primer argumento de Canny debe cumplir los siguientes criterios:

  • escribe:
  • dtype: dtype('uint8')
  • siendo un solo canal o simplemente: escala de grises, es decir, matriz 2D, es decir, su shape debe ser 2 tuple de int s ( tuple contiene exactamente 2 enteros)

Puedes comprobarlo imprimiendo respectivamente.

 type(variable_name) variable_name.dtype variable_name.shape 

Reemplace variable_name con el nombre de la variable que alimente como primer argumento a Canny .