使用 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 3.0 - 错误:(-215) scn == 3 || scn == 4 在函数 ipp_cvtColor