2012-01-05 12 views
1

私はopencv2.1と64ビットコンピュータでVisual C++ 2010 Expressでコーディングしています。cv :: MatはVisual C++ Express 2010でエラーを出します

Unhandled exception at 0x571365af (msvcr90d.dll) in cvMatExample.exe: 0xC0000005: Access violation reading location 0x6d622e65.

#include "cvaux.h" 
#include "highgui.h" 
#include <stdio.h> 

using namespace cv; 
using namespace std; 

int main(){ 

    Mat xxx; 
    xxx= imread("frame.bmp",0); 

    namedWindow("Result",CV_WINDOW_AUTOSIZE); 
    imshow("Result", xxx); 

    return 0; 

} 

だから、正確に問題がある:私は、しかし、次の簡単なコードがエラーを与え、私は私の他のコードを仕事ができる、前に問題を持っていませんでしたか?または私のコンピュータと互換性のないcv :: Matですか?前もって感謝します。

+0

frame.bmpへの絶対リンクを使用してみましたか? C:\ frame.bmpになっているので、画像が見つかったことを確認できますか? – Codemeister

+0

はい、私もそれを試しましたが、その場合でも、cv :: imreadはエラーを返すので、エラーが発生しているわけではありません。 – user1132254

答えて

1

それはときにすることができ、関数呼び出しの戻り値をチェックすることをお勧めです:たぶん、あなたのイメージがimread()によってロードされていなかった

xxx = imread("frame.bmp",0); 

if (!xxx .data) 
{ 
    printf("Failed to load image\n"); 
    // deal with error 
} 

。 Windowsでは、多くの場合、ダブルスラッシュとの完全なパスを参照するのが一般的である:C:\\folder\\another_folder\\img.jpg

+0

いいえ、問題はありません。なぜなら、cv :: imread関数の場合でも、このコードはエラーを起こすため、イメージをうまく読み込むかどうかを確認することさえできません。だから、基本的に私のVisual C++ 2010 Expressは、cv :: - – user1132254

+0

の操作でエラーを出します。 'xxx = imread(" frame.bmp "、0); – karlphillip

+0

はい、私もデバッグを行ったので、ステップバイステップで行って、これはどこにエラーがあります。また、imreadを除いて、別のプロジェクトのために、私はcv関数を使用しようとしました:cv :: findContoursと私もエラーがあった。だから基本的にすべてのcv関数はエラーを出します。 – user1132254

関連する問題