OpenCV 2.1:ostream运算符在哪里<< for cv :: Mat?

时间:2012-04-04 13:10:31

标签: c++ opencv

关注this question,我正在尝试将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,并在these instructions之后安装了opencv,不包括示例。我的问题是,操作员是否在2.1中可用,如果可以,我该如何获得?

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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