-PR-
noname#123915

現在C++,OpenCVを用いてプログラム内で生成した画像をフォルダを指定して1フォルダ内に100枚程度の画像をどんどん保存していくというプログラムを作成しています。

そこで、フォルダを指定してcvSaveImageで画像を保存しようとすると、エラーが出てしまい保存する前にプログラムがダウンしてしまいます。

具体的には以下のとおりです。
変数
char filename[]; //出力画像の名前
char path[] = "testdir";//相対パス名(フォルダ指定用)
IplImage* testimage; //生成した画像

成功例(フォルダ指定なし)
sprintf(file,"%s\\test.bmp",path,);
cvSaveImage(file, testimage);

失敗例(フォルダ指定あり)
sprintf(file,"%s\\test.bmp",path,);
cvSaveImage(file, testimage);

環境は
Win XP Pro 2002 sp3
Visual C++ 2008 Express Edition
OpenCV1.1
です。

どなたかご教授お願いいたします。
  • 回答数1
  • 気になる数0

Aみんなの回答(全1件)

回答 (全1件)

  • 2009-09-14 18:16:19
  • 回答No.1
成功例と失敗例の違いがわかりませんが。 > char filename[]; //出力画像の名前 空の配列だけ用意しても、ファイル名を入れるメモリは確保されませんよ。 char filename[_MAX_PATH]; ではどうでしょうか。 ...続きを読む
成功例と失敗例の違いがわかりませんが。

> char filename[]; //出力画像の名前

空の配列だけ用意しても、ファイル名を入れるメモリは確保されませんよ。

char filename[_MAX_PATH];

ではどうでしょうか。
補足コメント
noname#123915

すいません;失敗例の記述を間違えました;;
正しくは
成功例
sprintf(file,"test.bmp");
cvSaveImage(file, testimage);
でした。
このように、フォルダの指定をはずしてやれば成功するのに指定してしまうととたんにエラーが出てしまいます。
あと、[_MAX_PATH]も試しましたが、同じようにエラーが出てしまいました。
投稿日時 - 2009-09-14 23:45:51
  • 同意数0(0-0)
  • ありがとう数0
なるほど、役に立ったなど
感じた思いを「ありがとう」で
伝えてください
  • 回答数1
  • 気になる数0
  • ありがとう数1
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください
  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう

関連するQ&A

-PR-
-PR-

その他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する
-PR-
-PR-
-PR-

特集


士業をはじめとする専門家が回答するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ