/home/wjc/project/qt_pro/Image_Software/centroidtracker.cpp:16: error: 'cv::OutputArrayOfArrays' (aka 'const cv::_OutputArray &') is not a class, namespace, or enumeration OutputArrayOfArrays contours_ptr = OutputArrayOfArrays::create(); ^
时间: 2024-02-14 09:06:52 浏览: 90
这个问题可能是由于 OpenCV 版本不同导致的。在一些较旧的 OpenCV 版本中,`OutputArrayOfArrays` 是一个类,而在一些较新的版本中,它是一个类型别名,指向 `const cv::_OutputArray&`。
如果你的 OpenCV 版本中 `OutputArrayOfArrays` 是一个类型别名,则需要按照以下方式进行定义和初始化:
```cpp
std::vector<cv::Mat> contours_vec;
OutputArrayOfArrays contours_ptr = OutputArrayOfArrays(contours_vec);
OutputArray contours = contours_ptr.getMatRef(0);
```
这样,你就可以使用 `contours` 指向的对象了。
如果你的 OpenCV 版本中 `OutputArrayOfArrays` 是一个类,则需要按照以下方式进行定义和初始化:
```cpp
OutputArrayOfArrays contours_ptr = OutputArrayOfArrays::create();
OutputArray contours = contours_ptr.getMatRef(0);
```
这样,你也可以使用 `contours` 指向的对象了。
相关问题
/home/wjc/project/qt_pro/Image_Software/centroidtracker.cpp:16: error: declaration of reference variable 'contours' requires an initializer OutputArray contours; ^~~~~~~~
这个问题和之前的问题是类似的,是因为你在定义一个引用类型的变量 `contours` 时没有给它一个初始值。在 C++ 中,引用类型的变量必须在定义时进行初始化,否则会出现编译错误。
`OutputArray` 是 OpenCV 中的一个类,它通常用于表示一个输出参数,但是它不是一个具有默认构造函数的类,也不能通过拷贝和赋值构造函数来进行初始化。
解决这个问题的方法是使用指针类型,如下所示:
```cpp
OutputArrayOfArrays contours_ptr = OutputArrayOfArrays::create();
OutputArray contours = contours_ptr.getMatRef(0);
```
这样,你就可以使用 `contours` 指向的对象了。
另外,你需要确保你的代码中包含了正确的 OpenCV 头文件,因为 `OutputArray` 类型是在该头文件中定义的。
/home/wjc/project/qt_pro/Image_Software/centroidtracker.cpp:14: error: declaration of reference variable 'contours_ptr' requires an initializer OutputArrayOfArrays contours_ptr; ^~~~~~~~~~~~
这个问题和之前的问题是类似的,是因为你在定义一个引用类型的变量 `contours_ptr` 时没有给它一个初始值。在 C++ 中,引用类型的变量必须在定义时进行初始化,否则会出现编译错误。
`OutputArrayOfArrays` 是 OpenCV 中的一个类,它通常用于表示一个输出参数,但是它不是一个具有默认构造函数的类,也不能通过拷贝和赋值构造函数来进行初始化。
解决这个问题的方法是使用指针类型,如下所示:
```cpp
OutputArrayOfArrays contours_ptr = OutputArrayOfArrays::create();
OutputArray contours = contours_ptr;
```
这样,你就可以使用 `contours` 指向的对象了。
另外,你需要确保你的代码中包含了正确的 OpenCV 头文件,因为 `OutputArrayOfArrays` 类型是在该头文件中定义的。
阅读全文