2

我在使用从 mac 端口安装的 openCV 2.3.1 时遇到问题。对于 xcode 项目的安装和配置,我使用了 Salem 博客中的这篇文章。帖子中显示的示例代码效果很好。但是,如果我将 mail.cpp 文件更改为仅显示图像,则会失败。这是我的示例代码:

#include <iostream>

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

int main (int argc, const char * argv[])
{
    cv::Mat img = cv::imread("Lena.jpg");
    cv::namedWindow("Image");
    cv::imshow("Image", img);
}

我得到的错误如下:

OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat, file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/OpenCV-2.3.1/modules/core/src/array.cpp, line 2482
terminate called throwing an exception(lldb) 

现在我有点困惑,因为我对 c++ 也不太熟悉。

有什么建议吗?

4

1 回答 1

3

有可能是由于imread()无法在磁盘上找到图像而导致崩溃:

cv::Mat img = cv::imread("Lena.jpg");
if (!img.data)
{
     // print error and abort execution
}

除非你开始安全地编码,否则你永远不会知道。

于 2012-04-26T17:59:07.770 回答