目前,我正在使用OpenCV开发一个C ++项目,OpenCV是一个用于图像处理的库。
看一些例子,我遇到了以下几行:
Mat gray, smallImg( cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1 );
我以前在C / C ++中从未见过这样的东西......你知道这是做什么的吗?
答案 0 :(得分:4)
Mat
是一个类,使用no arg构造函数声明和定义gray
(有意义,因为灰色是默认颜色,没有?),smallImg
被声明和定义使用三个arg构造函数。
答案 1 :(得分:1)
它在一行中声明了几个变量。
没有混淆,它等同于:
Mat gray;
Mat smallImg( cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1 );
不需要任何进一步的解释。
(在古代,当存储稀疏且终端显示24行代码时,如果你很幸运,使用多变量声明比现在更有意义。)