総ありがとう数 累計4,291万(2014年11月1日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-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];

ではどうでしょうか。
補足コメント
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

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

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

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

関連するQ&A

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ