使用运算符<<多维数组的存储异常错误将cv :: Mat打印到std :: cout

时间:2019-11-04 12:48:42

标签: c++ opencv

我刚刚开始学习openCV,但是我已经在基础方面挣扎了。 使用Opencv 4.1.2运行MSVS2019 16.3.5

#include "opencv2/core.hpp"
#include <iostream>

int main() {
    cv::Mat kernel2d{ 2, 3, CV_32F, cv::Scalar(0) };
    std::cout << kernel2d << '\n';
}

给个好东西

[0, 0, 0;
 0, 0, 0]

但是我生活在3D世界中...所以:

#include "opencv2/core.hpp"
#include <iostream>

int main() {
    int const size3d[]{ 2, 3, 4 };
    cv::Mat kernel3d{ 3, size3d, CV_32F, cv::Scalar(0) };
    std::cout << kernel3d << '\n';
}

导致

  

OpenCVSandbox.exe中0x00007FFB75299129的未处理异常:   Microsoft C ++异常:内存位置的cv :: Exception   0x000000A2A24FEE00

编辑:啊,我看到了这个消息

  

OpenCV(4.1.2)错误:断言失败(m.dims <= 2)在   cv :: FormattedImpl :: FormattedImpl,文件   C:\ build \ master_winpack-build-win64-vc15 \ opencv \ modules \ core \ src \ out.cpp,   第87行

我在做什么错了?

0 个答案:

没有答案