how can i know if the image is in RGB or BGR format?

匿名 (未验证) 提交于 2019-12-03 01:05:01

问题:

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 Lab* color space, and in opencv you have to specify first whether the image you want to convert is in RGB or BGR.

update:

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

回答1:

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



回答2:

When you use opencv (imread, VideoCapture), the images are loaded in the BGR color space.



回答3:

If you are reading in the image file, or you have access to the code that reads in the file, know it is:
- BGR order if you used cv2.imread(),
- RGB order if you used mpimg.imread(), (assuming import matplotlib.image as mpimg)

If you don't know how the file was opened, the accepted answer BufferedImage is great for Java.
I would like to find a way to do the same in Python !



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!