javaopencvimage-processingrgbbgr

How can I know if the image is in RGB or BGR format?


Is there any way to know in advance if an image used as an input to a system is in RGB or BGR format?

I am using OpenCV with java API and I would like to convert an input image into grayscale or L*a*b* color space, but in OpenCV you have to specify first whether the image you want to convert is in RGB or BGR.

The type of the image I am using is either .jpg or .png.


Solution

  • If your image is a BufferedImage then you can ask for his type with getType(), and test against the several constants (see: BufferedImage).