OpenCV线性混合和空间添加

OpenCV linear blending and spatial addition

本文关键字:空间 添加 混合 线性 OpenCV      更新时间:2023-10-16

我目前正试图编写一个c++程序,能够从特定ROI的图像和水印的Y分量中提取ROI。我目前被困在水印技术的实现。经过进一步的研究,我看到了OpenCV中的addweighted函数,我理解它是线性混合的实现。

我想问的是,阿尔法混合被认为是像原始图像的像素和水印之间的空间添加的东西?如果没有,谁能解释一下两个图像之间的alpha混合和空间添加之间的区别?

事先感谢您提供的任何帮助。

在这种情况下,我不是100%了解"空间加法"是什么(谷歌并不是特别有帮助),但我确实了解alphablending。

如果我们有两个图像,AB,那么当与alpha a混合时,得到的图像R:r[x, y] = a * A[x, y] + (1-a) * B[x,y];

所以,基本上,将像素颜色添加在一起,并混合每个图像的比例。这里我们谈论的是RGB颜色,我完全不知道如果你在YUV颜色中这样做会发生什么——我确信有一些方法可以实现同样的事情——它甚至可以被称为"空间加法"。但我所从事的所有使用alpha混合的图像项目都使用RGB作为中间术语(至少在我接触的部分)。

我希望通过描述这个过程,它可以帮助你理解字母混合,并通过理解你需要做什么,无论是在RGB还是其他格式