2

MacポートからインストールされたopenCV2.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 に答える