0

嗨,我正在使用 EmguCV,我喜欢用它编程。

但是我想知道是否有一种优雅的方法可以单独添加两个像素。

添加图片,可以使用CvInvoke.Add(),但是对于单个像素的操作,好像要写的很丑,

假设你有 p、p1 和 p2 作为 EmguCV::Bgr,

你必须写

p = new Bgr(p1.b + p2.b, p1.g + p2.g, p1.r + p2.r);

我真的很讨厌这个,并试图为此编写一个运算符。但这显然是不可能的,因为运算符重载必须在宿主类中。

有没有办法优雅地做到这一点?

================编辑=================

我想要做的是计算图像中像素的总和。所以这里的基本操作是添加像素,或 Bgr 类。

4

1 回答 1

1

假设您有两个图像img1,并且img2

  • 如果你想添加它们,你可以这样做img3=img1+ img2
  • 如果您只是想要单个图像上每个颜色通道的总和,img1您可以执行以下操作:

    Bgr sums = img1.GetSum();

    double TotalVal = sums.Blue + sums.Green + sums.Red;

希望这可以帮助,

卢卡

于 2013-05-08T12:16:03.123 回答