我正在查看有关Cascade分类器的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类的文档

最佳答案

那条线叫

Mat operator()(const Rect &)

而不是副本构造函数。该运算符用于调用类似函数的对象。

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

关于c++ - 未知的c++对象实例化语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43019803/

10-15 17:35