• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MATLABで画像の評価)

MATLABで画像の評価をする方法

このQ&Aのポイント
  • MATLABで画像の評価をするためには、テンキーを使用して被験者に回答してもらいテキスト形式に書き出す必要があります。
  • 具体的な方法は、MATLABのプログラムで画像を読み込んだ後、ウィンドウを初期化し、被験者の回答をテキスト形式に書き出すことです。
  • プログラムの最後にはウィンドウを閉じる処理を追加する必要があります。

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

  • ベストアンサー
  • Kules
  • ベストアンサー率47% (292/619)
回答No.1

前回「複数のimage」云々の質問に回答したものです。 そうですね… 一番簡単なのはinputを使うことですかね? P=input('数字を入力して下さい','s'); とするとコマンドウィンドウに「数字を入力して下さい」と表示されて、 なにか入力したらそれがPに入力した文字列(数字含む)が入るので、 あとはテキストファイルをfopenかなんかで開いて(ファイル識別子fid) fprintf(fid,'%s',P) とでもすればテキストに書きこまれますね。 入力を数字に限りたいのであればwhileループに入れて、数字が入力された時だけ 抜けるようにすればいいですね。 コマンドウィンドウ以外でしたい(uicontrolのエディットボックスとか)の場合は他の対策が必要ですね。 「こういうことじゃないんだよ」とか「こういうことなんだけど説明が下手で意味がわからないよ」という場合は 補足していただければと思います。 参考になれば幸いです。

siro81655260
質問者

お礼

回答ありがとうございます 出来たらソースをお願いしたいのですが宜しいですか? すみません よろしくお願いします

その他の回答 (1)

  • Kules
  • ベストアンサー率47% (292/619)
回答No.2

A No.1のKulesです。 >出来たらソースをお願いしたいのですが宜しいですか? ソースも何も前回回答の中に細切れで書いてあるものでほぼ全てなんですが… ああ、いくつか扱ってないものがありましたね。 ・fopen fid=fopen('ファイル名'); とすれば、「ファイル名」のファイルが作られ、そのファイルを識別する識別子がfidに出力されます。 ファイル名は絶対パスでも相対パスでもいいですが、どこかのフォルダを指定した時そのフォルダが存在しないとエラーになります(勝手に作ってくれるような親切はなかったと思います) ・str2double 文字列を数値に変換します。変換出来ない時はNaNを返します。 ・isnan 入力がNaNかどうかを判別します。NaNの時はtrueを返します。 ・break forループやwhileループから抜ける時に使います。ただし、抜けれるのは1つだけです。 (二重のforループの中で使っても、外側のforループより外には出られない) ・while文(無限ループ) while(1)とすれば無限ループになります。工夫すれば別の書き方もできますが、説明がちょっと面倒なので。 (頑張れそうなら考えてみて下さい) ループの終わりはendで示します。 ・if文 言わずと知れた(?)条件分岐です。 if 条件文  trueの時実行するやつ else  falseの時実行するやつ end となります。 elseはなくても構いません。 ということで、実際の動きを書くなら while(1)  入力を要求、入力されたものをSに代入  Sを数値に変換し、Dに代入  SがNaNかどうかを判断し、NaNでなければループを抜ける end; ファイルを開き、識別子をfidに代入 fprintfを用いてSを書きこむ となります。 実際のソースは書きません。もっと複雑な、例えばGUIを駆使するようなもので説明するのも面倒な時は書きますが、 今回はそういうわけではないので(Matlab特有の難しさ、みたいなものもないですしね。前回の回答は「条件文の真偽をインデックスに直接使える」というのはMatlab特有のものなので書いたにすぎません) 「厳しい」とか「何言ってんだ××」みたいに思うかも知れませんが、試行錯誤をして、エラーを出したりしながらとにかく独力で書かなければ力はつきません。 Matlabは書き方をミスってもよっぽど変なことを書かない限りはただのエラーで済みますし、メモリが破壊されたり強制終了されられることはありません。特に今回のような例であればそのようなことはまず起こり得ないでしょう。 とにかく手を動かしましょう。 「こう書いたけど動かない、なんでだ」というのがあればまた補足願います。 参考になれば幸いです。

siro81655260
質問者

お礼

ありがとうございます 頑張ります わからないところがあればまた質問するかもしれませんがその時はよろしくお願いします。

関連するQ&A