图像颜色处理全解析
1. 函数对象(Functor)
在C++中,利用运算符重载可以创建一种类,其对象的行为类似于函数,这类对象被称为函数对象或仿函数(Functor)。具体做法是重载 operator() 方法,使得对类的处理方法的调用看起来就像简单的函数调用。通常,仿函数会包含一个完整的构造函数,以便在创建后能立即使用。
以下是 ColorDetector 类的完整构造函数示例:
// full constructor
ColorDetector(uchar blue, uchar green, uchar red, int maxDist=100):
maxDist(maxDist) {
// target color
setTargetColor(blue, green, red);
}
仿函数方法可以这样定义:
cv::Mat operator()(const cv::Mat &image) {
// color detection code here
}
使用该仿函数方法检测特定颜色的代码如下:
ColorDetector colordetector(230,190,130, // color
100); /
超级会员免费看
订阅专栏 解锁全文
3240

被折叠的 条评论
为什么被折叠?



