opencv mat函数setSize中的CV_MAX_DIM

时间:2012-11-05 16:05:43

标签: opencv

我有一个小的OpenCV代码:

#include <iostream>

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int
main(int argc, char* argv[])
{

  cv::Mat mask_img = cv::imread("image.png");
  cv::imshow("window",mask_img);

  return 0;
}

然而,在运行时,我收到以下错误:

  

OpenCV错误:断言失败(0&lt; = _dims&amp;&amp; _dims&lt; = CV_MAX_DIM)in   setSize,file /home/box/OpenCV-2.4.3/modules/core/src/matrix.cpp,line   88抛出'cv :: Exception'实例后调用终止   what():/ home / box / OpenCV-2.4.3 / modules / core / src / matrix.cpp:88:错误:   (-215)0&lt; = _dims&amp;&amp;函数setSize中的_dims&lt; = CV_MAX_DIM

     

中止

我在kubuntu linux上使用OpenCV 2.4.3,从源代码编译。

如何解决此错误?

我自己解决了,只需使用

 g++ bla2.cpp `pkg-config opencv --cflags --libs` -o bla

除了-lopencv_core等

之外,不要使用自己的链接库

1 个答案:

答案 0 :(得分:-1)

您的图片是否正确读取?尝试在imread之后添加以下代码行:if (image.empty()){ std::cerr << "Failed to read image" << std::endl; return 0;}