未知的c ++对象实例化语法

时间:2017-03-25 17:45:42

标签: c++ opencv instantiation copy-constructor

我正在查看关于Cascade Classifiers的OpenCV教程,并且碰巧看到了这种语法:

std::vector<Rect> faces;
Mat frame_gray;     
Mat faceROI = frame_gray( faces[i] );,

在frame_gray实例化和faceROI实例化之间还有一些其他代码。我的问题是 - faceROI实例化行正在做什么/它是如何工作的?它看起来像复制构造函数用法,但faces [i]参数让我感到困惑。

http://docs.opencv.org/trunk/db/d28/tutorial_cascade_classifier.html - 教程 http://docs.opencv.org/3.1.0/d3/d63/classcv_1_1Mat.html#af1d014cecd1510cdf580bf2ed7e5aafc - Mat类的文档

1 个答案:

答案 0 :(得分:5)

该行正在调用

Mat operator()(const Rect &)

而不是复制构造函数。此运算符用于像函数一样调用对象。

您可以在此处找到有关此运算符的信息: http://docs.opencv.org/3.1.0/d3/d63/classcv_1_1Mat.html#a07413f2e3e63a12185b8b218c24c7270