使用open cv合并不同通道中的图像

时间:2012-07-30 15:07:34

标签: opencv

我正在使用opencv#进行项目并尝试合并两个图像(一个是具有3个通道的图像,另一个是单个通道图像)。我尝试使用方法Cv.ScaleAdd,但它不会合并两个不同通道的图像。我需要一些帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您希望结果是灰度还是彩色?添加两个图像的最简单方法是为每个图像声明一个权重。比较说.4表示一个而.6表示另一个。然后逐个像素地将一个图像乘以.4,将另一个图像乘以.6,并将它们相加以获得新的像素值。如果您希望通过将3通道图像转换为灰度来使最终结果成为灰度,如果您希望通过将灰度转换为颜色来使其成为彩色启动。将灰度转换为颜色实际上不会对其进行着色,它只表示具有三个通道的灰度。您可以自己编写代码,或者我怀疑函数调用

cv::cvtColor(input,output,CV_GRAY2BGR);
or
cv::cvtColor(input,output,CV_BGR2GRAY);

接着是

cv::scaleAdd 

会做到这一点。