使用 cvtColor 进行 OpenCV 图像色彩空间转换

Posted

技术标签:

【中文标题】使用 cvtColor 进行 OpenCV 图像色彩空间转换【英文标题】:OpenCV Image color space transformation using cvtColor 【发布时间】:2014-07-23 21:43:57 【问题描述】:

我正在使用下面的 opencv API 来转换颜色空间:

cvtColor(<input mat>, <output mat>, COLOR_RGB2RGBA);

但是,输出图像的整个图像都带有蓝色。有什么方法可以得到正确的图像颜色?

【问题讨论】:

OpenCV 默认使用 BGR 字节排序。您可能想要传递 COLOR_BGR2BGRA 标志。 @Aurelius 我认为您应该将其作为答案! 【参考方案1】:

我发现了问题所在。 @Aurelius 的上述评论在其他情况下有效。

但是,我的输入图像已经是 RGB 格式。我应该在下面做

cvtColor(<input mat>, <output mat>, COLOR_RGB2RGBA); //posted in question as well

而不是

cvtColor(<input mat>, <input mat>, COLOR_RGB2RGBA);

我试图在它不喜欢的同一个 cv::Mat 对象中进行色彩空间转换。

【讨论】:

以上是关于使用 cvtColor 进行 OpenCV 图像色彩空间转换的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV cvtColor 图像被截断

利用OpenCV的函数cvtcolor()进行颜色空间转换时需要注意的地方

opencv学习之颜色空间转换cvtColor()

OpenCV 3.0 - 错误:(-215) scn == 3 || scn == 4 在函数 ipp_cvtColor

OpenCV---分水岭算法

怎么在python中使用cv2.cvtcolor