4

这个问题之后,我试图将 a 的内容打印cv::Mat到标准输出:

#include <iostream>
#include <opencv/cv.h>
#include <opencv/cv.hpp>
#include <opencv/cxcore.h>
#include <opencv/cxcore.hpp>

int main() {

  cv::Mat m = cv::Mat::ones(10, 10, CV_32S);
  std::cout << m << "\n";

}

这会导致错误

error: no match for ‘operator<<’ in ‘std::cout << m’

我在 Ubuntu 11.10 上使用 gcc 4.6.1,并按照这些说明安装了 opencv,不包括示例。我的问题是,该运算符在 2.1 中是否可用,如果是,我如何获得它?

4

2 回答 2

5

更新到 OpenCV 2.2(或更高版本)和#include <opencv2/opencv.hpp>

它定义在modules/core/include/opencv2/core/operations.hpp

于 2012-04-04T15:10:22.273 回答
2

如果未定义运算符,您可能需要升级到 2.2 或更高版本。记录在这里您可以在其中找到重载的运算符代码。

于 2012-04-04T16:06:19.603 回答