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

ben*_*rms 0 c++ opencv instantiation copy-constructor

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

std::vector<Rect> faces;
Mat frame_gray;     
Mat faceROI = frame_gray( faces[i] );,
Run Code Online (Sandbox Code Playgroud)

在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类的文档

LoP*_*TaL 5

那条线正在呼唤

Mat operator()(const Rect &)
Run Code Online (Sandbox Code Playgroud)

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

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