0

我有一个小的 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 错误:setSize 中的断言失败(0 <= _dims && _dims <= CV_MAX_DIM),文件 /home/box/OpenCV-2.4.3/modules/core/src/matrix.cpp,第 88 行终止在抛出一个实例后调用'cv::Exception'
what(): /home/box/OpenCV-2.4.3/modules/core/src/matrix.cpp:88: error: (-215) 0 <= _dims && _dims <= CV_MAX_DIM 在函数中设置大小

中止

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

如何解决此错误?

我自己解决了,只需使用

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

请勿使用您自己的链接库,例如 -lopencv_core 等

4

1 回答 1

-1

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

于 2012-11-06T10:45:42.733 回答