- ベストアンサー
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に入れてやっていいるのですが、 違うところに入れないといけないのか。 あるいはたんにプログラムに問題ありなのか。 わかる方がいればよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ん?エラーメッセージを見ると、最初に、 error: could not read file: C:/PROGRA~1/GNUOCT~1.36/tmp/oct-610bfb74.0 というのが出てますね。名前からして一時ファイルを作っているのかな? ”C:/PROGRA~1/GNUOCT~1.36/tmp/”というフォルダは存在しますか?存在した場合に、そのフォルダのパーミッションなどは大丈夫(読めるし、ファイルを作れるし、などなど)ですか?
その他の回答 (3)
- mikaemi
- ベストアンサー率50% (33/65)
あら。。そうなんですか^^; 実行環境は Windows ですか?エラーメッセージを見ると、Windows のドライブ名があるのに、Unix 形式のスラッシュで区切られたパス名が出てますね。 バックスラッシュ(\)を使う Windows 形式のものと、スラッシュ(/)を使う Unix 形式のもの、両方試してみればいかがでしょう?
- mikaemi
- ベストアンサー率50% (33/65)
ファイル指定は、ファイル名だけなど、相対パスで書いているのですか? それだと、カレントディレクトリがどこになっているかで違ってきます。 カレントディレクトリがどこであるのかわからなければ、 絶対パスでファイル指定してみてはいかがでしょうか? imread('xxx.jpg') -> imread('/aaa/bbb/ccc/xxx.jpg')
補足
回答ありがとうございます。 絶対パスでもやってみたけど、だめでした。 カレントディレクトリは、/octave_filesです。
- koko_u_
- ベストアンサー率18% (459/2509)
超ヤマカンで。 Octave を C:\Program Files\ 以下にインストールしたが、octave がスペースの含まれたパスをうまくハンドリングできていないとか?
補足
回答ありがとうございます。 はい、Octave を C:\Program Files\ 以下にインストールしました。 >スペースの含まれたパスをうまくハンドリングできていない ファイル名にスペースが含まれているから認識できないってことでしょうか? ファイル名にスペースは使わないようにしているのですが。。
補足
mikaemiさん回答ありがとございました。 結局Octaveではうまくいかなかったので、学校のMatlabを使ったら、 なんなく読み込めました。 原因はわからなかったです。 けど、詳しい人がたくさんいてくれて助かりました。 うれしいです。 最後にお礼遅れて済みませんでした。 みなさんほんとにありがとうございました。