我怎么知道图像是 RGB 还是 BGR 格式?

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

有没有办法提前知道用作系统输入的图像是 RGB 还是 BGR 格式?

我将 OpenCV 与 java API 一起使用,我想将输入图像转换为灰度或 L*a*b* 颜色 space,但在 OpenCV 中你有首先指定要转换的图像是 RGB 还是 BGR。

我使用的图像类型是 .jpg.png

如果您的图像是 BufferedImage,那么您可以使用 getType() 询问他的类型,并针对几个常量进行测试(参见:BufferedImage)。

当您使用 opencv(imread、VideoCapture)时,图像以 BGR 颜色加载 space。

如果您正在读取图像文件,或者您可以访问读取文件的代码,请知道它是:

  • BGR 如果您使用 cv2.imread()
  • RGB order if you used mpimg.imread() (假设 import matplotlib.image as mpimg)

如果您不知道文件是如何打开的, BufferedImage 非常适合 Java。
我想在 Python!

中找到一种方法来做同样的事情