¿Por qué una imagen de un solo canal OpenCV sigue teniendo 3 canales después de guardarla y recargarla?
Adivina que cuando leas la imagen más tarde, el segundo parámetro de la función imread() usa el valor predeterminado, por lo que esta vez se leen todas las imágenes en color, por lo que regresa a 3 canales. La siguiente es una descripción; del segundo parámetro
flags - banderas que especifican el tipo de color de la imagen cargada:
- CV_LOAD_IMAGE_ANYDEPTH - si está configurado, cuando la entrada tiene
la profundidad correspondiente , devuelve una imagen de 16 bits/32 bits; de lo contrario, se convierte a 8 bits.
- CV_LOAD_IMAGE_COLOR - Si está configurado, convierte siempre la imagen a una imagen en color
- CV_LOAD_IMAGE_GRAYSCALE - Si está configurado, convierte siempre la imagen a una imagen en escala de grises
Si Si desea leer la imagen tal como está, se recomienda utilizar el siguiente comando: reemplace "..." con su propia imagen Mat?test?=?imread("..." ,? -1); p>