0

我目前正在尝试编写一个 C++ 程序,该程序能够从图像的 Y 分量中提取 ROI 并为该特定 ROI 加水印。我目前被困在水印技术的实施上。经过进一步研究,我在 OpenCV 中看到了 addweighted 函数,我知道它是线性混合的一种实现。

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

提前感谢您提供的任何帮助。

4

1 回答 1

0

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

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

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

我希望通过描述这个过程,它可以帮助您理解 alphablending,并由此了解您需要做什么,无论是 RGB 还是其他格式。

于 2012-12-24T13:39:19.903 回答