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

我刚刚开始学习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]

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

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

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

导致

  

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

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

  

OpenCV(4.1.2)错误:断言失败(m.dims

我在做什么错了?

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

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166647.html

大家都在问