【发布时间】:2013-05-08 20:16:03
【问题描述】:
您好,我正在使用 EmguCV,我喜欢使用它进行编程。
但是我想知道是否有一种优雅的方法可以单独添加两个像素。
添加图片,可以使用CvInvoke.Add(),但是对于单个像素的操作,好像要写的很丑,
假设你有 p、p1 和 p2 作为 EmguCV::Bgr,
你必须写
p = new Bgr(p1.b + p2.b, p1.g + p2.g, p1.r + p2.r);
我真的很讨厌这个,并试图为此编写一个运算符。但这显然是不可能的,因为运算符重载必须在宿主类中。
有什么方法可以优雅地做到这一点?
================编辑================
我想做的是计算图像中像素的总和。所以这里面的基本操作就是添加像素,或者Bgr类。
【问题讨论】:
-
对您的一些观点进行一些澄清。如果你想要优雅的代码来添加两个图像,你可以使用已经为图像类 Image
定义的运算符重载 image3 = image1 + image2;根据您的要求,我只需向提供像素总和功能的类图像添加一个扩展方法?如果您关心性能,我可以建议您直接访问数据像素数组。 -
请看更新。谢谢
标签: emgucv