关注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中可用,如果可以,我该如何获得?
答案 0 :(得分:5)
更新到OpenCV 2.2(或更高版本)和#include <opencv2/opencv.hpp>
它定义在modules/core/include/opencv2/core/operations.hpp
答案 1 :(得分:2)
如果未定义运算符,则可能需要升级到2.2或更高版本。 记录Here在哪里可以找到重载的运算符代码。