• 締切済み

cvSaveImageで画像を保存する際のフォルダ指定

現在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 です。 どなたかご教授お願いいたします。

みんなの回答

回答No.1

成功例と失敗例の違いがわかりませんが。 > char filename[]; //出力画像の名前 空の配列だけ用意しても、ファイル名を入れるメモリは確保されませんよ。 char filename[_MAX_PATH]; ではどうでしょうか。

noname#123915
質問者

補足

すいません;失敗例の記述を間違えました;; 正しくは 成功例 sprintf(file,"test.bmp"); cvSaveImage(file, testimage); でした。 このように、フォルダの指定をはずしてやれば成功するのに指定してしまうととたんにエラーが出てしまいます。 あと、[_MAX_PATH]も試しましたが、同じようにエラーが出てしまいました。

関連するQ&A

専門家に質問してみよう