電子書籍の厳選無料作品が豊富!

OpenCVで下記の用なテストプログラムを作成しました。
---------------------------------------
#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

#pragma comment(lib, "cv.lib")
#pragma comment(lib, "cxcore.lib")
#pragma comment(lib, "highgui.lib")

int main(void)
{

unsigned char *Image;
IplImage* img = NULL;
IplImage* clone = NULL;

// 画像読み込み
img = cvLoadImage("image.bmp", -1);

// 画像コピー
clone = cvCloneImage(img);
return 0;
}
---------------------------------------
ところが、実行すると
---------------------------------------
Bad argument(Bad image header)
in function cvCloneImage, D:\User\VP\openCV\cxcore\src\cxarray.cpp
---------------------------------------
というエラーメッセージがでて実行することができませんでした。

OpenCVに付属していたsampleプログラムは動作しました。

// 画像コピー
clone = cvCloneImage(img);
の一文をコメントアウトするとエラーはなぜかでません。

このエラーはどうしてでるのでしょうか?

OSはwindowsXP
コンパイルはC++6.0とVS2005の両方で試しましたが同じ結果がでます。

A 回答 (1件)

キット


// 画像読み込み
img = cvLoadImage("image.bmp", -1);

// 画像コピー
if(img){
clone = cvCloneImage(img);
}

にすると、"そのエラーは"でなくなるかと考えられます。
    • good
    • 0
この回答へのお礼

エラーがでなくなりましたありがとうございました

お礼日時:2006/08/12 18:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!