• 締切済み

opencvプログラミング エラー

C++ opencv2.3.1 visual studio 2008 の環境でプログラミングをしているのですが、 以下のようなエラーが出て解決出来ずに困っています。 ------------------------------------------------------------------ 【エラーが出る箇所のソースコード】 if ((tmp_img = cvLoadImage(jpg_name, CV_LOAD_IMAGE_COLOR)) == 0){ free(jpg_name); return -1; } 「jpg_name」には、パスを含むjpgファイル名が記述されたtxtファイルを引数とし、 そのtxtファイルから読み込んだjpgファイル名を格納してあります。 ------------------------------------------------------------------ 【エラー内容】 「jpg_name」にパスも含めて正しくjpgファイル名が格納されているのに tmp_imgに画像が読み込まれず、 if文内のfree、return -1 が実行され、 プログラムが終了してしまいます。 デバッガのウォッチ上では、 「tmp_img」は<未定義の値>、 「cvLoadImage(jpg_name, CV_LOAD_IMAGE_COLOR)」は 「エラー:マネージEEは式の構文を理解しません」と表示されています。 ------------------------------------------------------------------ 解決方法をご存知の方がおられましたら よろしくお願い致します。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

opencvは使ったコトがないので細かいところは不明ですが…… >「jpg_name」にパスも含めて正しくjpgファイル名が格納されているのに >tmp_imgに画像が読み込まれず、 >if文内のfree、return -1 が実行され、 >プログラムが終了してしまいます。 cvLoadImage()の戻り値がNULLだった…ということでいいんですかね? http://www.usinezumi.com/blog/2009/12/05/225/ なんて話があるようですが…… # OSなんです?

robak
質問者

補足

回答ありがとうございます。 >OSなんです? windows7(64bit)です。 >cvLoadImage()の戻り値がNULLだった…ということでいいんですかね? そうです。 (tmp_img = cvLoadImage(jpg_name, CV_LOAD_IMAGE_COLOR)の直後で 「tmp_img」は<未定義の値>となっていました。 URLのページを参考に 管理者権限で実行、 Visual Studioを介さず、コマンドプロンプトからの実行 を試しましたが、結果は変わりませんでした・・・。

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.2

1.ドライブの直下に置いて試してみる 2.cvLoadImageの代わりに、fopenしてみて、ファイルが開けるかどうかチェックしてみる

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「jpg_name」にパスも含めて正しくjpgファイル名が格納されている ってのはどう確認した?

robak
質問者

補足

デバッガのウォッチ変数から確認しました

関連するQ&A