OpenCV 2.1:ostream operator<< for cv::Mat 在哪里?
Posted
技术标签:
【中文标题】OpenCV 2.1:ostream operator<< for cv::Mat 在哪里?【英文标题】:OpenCV 2.1: where is ostream operator<< for cv::Mat? 【发布时间】:2012-04-04 13:10:30 【问题描述】:在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,并安装了 opencv,不包括示例,遵循these instructions。我的问题是,该运算符是否在 2.1 中可用,如果可以,我如何获得它?
【问题讨论】:
如果没有定义算子,可能需要升级到2.2或以上。 【参考方案1】:更新到 OpenCV 2.2(或更高版本)和#include <opencv2/opencv.hpp>
定义在modules/core/include/opencv2/core/operations.hpp
【讨论】:
谢谢。经过相当痛苦的 opencv 2.3.1 安装后,它可以工作了。该示例所需的唯一标头是如果未定义运算符,您可能需要升级到 2.2 或更高版本。 记录在 Here 中,您可以在其中找到重载的运算符代码。
【讨论】:
以上是关于OpenCV 2.1:ostream operator<< for cv::Mat 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章