Red de conocimiento informático - Aprendizaje de programación - ¿Por qué una imagen de un solo canal OpenCV sigue teniendo 3 canales después de guardarla y recargarla?

¿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);