OpenCV TypeError: Esperado cv::UMat para el argumento 'src' - ¿Qué es esto?

Descargo de responsabilidad: soy un gran novato en openCV

Traceback (most recent call last):

File "lanes2.py", line 22, in

canny = canny(lane_image)

File "lanes2.py", line 5, in canny &gt gray = cv2.cvtColor(imgUMat, cv2.COLOR_RGB2GRAY)

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

¿A qué se refiere exactamente 'src'?

src es el primer argumento de cv2.cvtColor.

El error que obtienes es porque no es la forma correcta. cv2.Umat() es funcionalmente equivalente a np.float32(), por lo que tu última línea de código debería decir:

gray = (np.float32(imgUMat), cv2.COLOR_RGB2GRAY)
Comentarios (0)
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 la CPU y OpenCL.

Comentarios (0)

¿Es canny su propia función? ¿Utiliza Canny de OpenCV dentro de ella? Si es así, compruebe si usted alimenta argumento adecuado para Canny - primer argumento Canny debe cumplir con los siguientes criterios:

  • tipo: ``
  • dtype: dtype('uint8')
  • siendo un solo canal o simplementefing: *grayscale,que es un array 2D, es decir, suformadebe ser 2-tupladeints (tupla` que contiene exactamente 2 enteros)

Puedes comprobarlo imprimiendo respectivamente

type(variable_name)
variable_name.dtype
variable_name.shape

Sustituya nombre_de_la_variable por el nombre de la variable que introduce como primer argumento a Canny.

Comentarios (0)