• ベストアンサー

Octaveで画像が読めなくて困ってます。

はじめまして! 家で夏休みの課題でMATLABの演習をやってるいるのですが、 MATLABは学校でしか使えません。だから、無料配布のOctaveを使っています。 いま、Octaveで二次元FIRフィルタで画像を処理したいのですが、imread('ファイル名')で画像が読み込めません。エラーのメッセージはこんな感じです。 error: could not read file: C:/PROGRA~1/GNUOCT~1.36/tmp/oct-610bfb74.0 error: evaluating if command near line 178, column 4 error: called from `imread' in file `/usr/share/octave/2.1.36/m/image/imread.m' error: near line 2 of file `/octave_files/octave13_3.m 処理したい画像ファイルはoctave_filesに入れてやっていいるのですが、 違うところに入れないといけないのか。 あるいはたんにプログラムに問題ありなのか。 わかる方がいればよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.4

ん?エラーメッセージを見ると、最初に、   error: could not read file: C:/PROGRA~1/GNUOCT~1.36/tmp/oct-610bfb74.0 というのが出てますね。名前からして一時ファイルを作っているのかな? ”C:/PROGRA~1/GNUOCT~1.36/tmp/”というフォルダは存在しますか?存在した場合に、そのフォルダのパーミッションなどは大丈夫(読めるし、ファイルを作れるし、などなど)ですか?

Nyquist
質問者

補足

mikaemiさん回答ありがとございました。 結局Octaveではうまくいかなかったので、学校のMatlabを使ったら、 なんなく読み込めました。 原因はわからなかったです。 けど、詳しい人がたくさんいてくれて助かりました。 うれしいです。 最後にお礼遅れて済みませんでした。 みなさんほんとにありがとうございました。

その他の回答 (3)

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.3

あら。。そうなんですか^^; 実行環境は Windows ですか?エラーメッセージを見ると、Windows のドライブ名があるのに、Unix 形式のスラッシュで区切られたパス名が出てますね。 バックスラッシュ(\)を使う Windows 形式のものと、スラッシュ(/)を使う Unix 形式のもの、両方試してみればいかがでしょう?

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.2

ファイル指定は、ファイル名だけなど、相対パスで書いているのですか? それだと、カレントディレクトリがどこになっているかで違ってきます。 カレントディレクトリがどこであるのかわからなければ、 絶対パスでファイル指定してみてはいかがでしょうか? imread('xxx.jpg') -> imread('/aaa/bbb/ccc/xxx.jpg')

Nyquist
質問者

補足

回答ありがとうございます。 絶対パスでもやってみたけど、だめでした。 カレントディレクトリは、/octave_filesです。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

超ヤマカンで。 Octave を C:\Program Files\ 以下にインストールしたが、octave がスペースの含まれたパスをうまくハンドリングできていないとか?

Nyquist
質問者

補足

回答ありがとうございます。 はい、Octave を C:\Program Files\ 以下にインストールしました。 >スペースの含まれたパスをうまくハンドリングできていない ファイル名にスペースが含まれているから認識できないってことでしょうか? ファイル名にスペースは使わないようにしているのですが。。

関連するQ&A