Espacios de colores
Espacios de colores
Las operaciones de cambio de espacio de color de la imagen están realmente, en OpenCV, dentro del grupo de operaciones varias o misceláneas. Concretamente esta operación es especialmente interesante y útil porque permite la conversión de una imagen en color a RGB, a escala de grises o a HSV, espacios de color más interesantes bien por el reducido coste computacional (escala de grises) o bien para poder detectar características de interés de una forma rápida y sencilla, como puede ser detectar un color determinado (componente H del espacio de color HSV).
La función de OpenCV que permite cambiar una imagen de un espacio de color a otro es cv::cvtColor. La función cvtColor necesita como parámetros de entrada la imagen cuyo espacio de color se quiere modificar, la imagen de destino (que debe tener la dimensión y el número de canales adecuado para la conversión a realizar) y el tipo de conversión a realizar. Las posibles conversiones son:
- De RGB a escala de grises. Para eso se usa el parámetro: CV_RGB2GRAY, CV_GRAY2RGB, CV_BGR2GRAY o CV_GRAY2BGR.
- De RGB a CIE XYZ. Para eso se usa el parámetro: CV_BGR2XYZ, CV_RGB2XYZ, CV_XYZ2BGR o CV_XYZ2RGB.
- De RGB a YCrCb JPEG (o YCC). Para eso se usa el parámetro: CV_BGR2YCrCb, CV_RGB2YCrCb, CV_YCrCb2BGR o CV_YCrCb2RGB.
- De RGB a HSV. Para eso se usa el parámetro: CV_BGR2HSV, CV_RGB2HSV, CV_HSV2BGR o CV_HSV2RGB.
- De RGB a HLS. Para eso se usa el parámetro: CV_BGR2HLS, CV_RGB2HLS, CV_HLS2BGR o CV_HLS2RGB.
- De RGB a Bayer. Para eso se usa el parámetro: CV_BayerBG2BGR, CV_BayerGB2BGR, CV_BayerRG2BGR, CV_BayerGR2BGR, CV_BayerBG2RGB, CV_BayerGB2RGB, CV_BayerRG2RGB o CV_BayerGR2RGB.