23:36:36)追加された行はこの色です。削除された行はこの色です。[#sa340a9e]**OPenCVの機能の複合的利用[#ba4e5717]-複数の関数を組み合わせて,より複雑な処理ができるようになろう.-複数の関数を組み合わせて,より複雑な処理ができるようになろう。操作できるようにしよう。[#s79620c1]+[[ここからダウンロード.>http://smg.ams.eng.osaka-u.ac.jp/tanaka/AdvancedPrograming2012/samples2.zip]]+ダウンロードしたら適当な場所で解凍しましょう.+[[ここからダウンロード。>http://www.er.ams.eng.osaka-u.ac.jp/kawai/AP2018/samples2.zip]]+ダウンロードしたら適当な場所で解凍しましょう。../images/00.bmp+change_pixでは,imagesフォルダ内の別の画像も読み込んでみましょう.+第1回と同様に、3つのサンプルプログラム(trackbar、mouse、change_pix)を動かしてみよう。+change_pixでは、コマンドライン引数で画像を読み込みます。../images/00.bmp+change_pixでは、imagesフォルダ内の別の画像も読み込んでみましょう。[#y19fa497]トラックバーを作成して、指定されたウィンドウに追加する関数です。100);では、ウィンドウ"Window"にトラックバー"Trackbar"(最大値100)を生成し、トラックバーの値が常にvalueに反映されます。0));関数によりdst_img上に描画しています。~ESCキーを押すとwhile文をbreakし、プログラムを終了します。[#g38e2d76]マウスイベントに対するコールバックを指定する関数です。*)&src_img);では、ウィンドウ"Window"内でマウスイベント(クリックなど)が発生するたびに、~on_mouse関数が呼び出されます。*param)は、マウスがどのような状態なのかを引数にしており、この値はsetMouseCallbackが設定します。yは画像座標系におけるマウスポインタの座標です。eventはイベントの内容です。~例えば、マウスが移動したとき、eventの値がEVENT_MOUSEMOVEになります。~他にどのようなイベントがあるか、調べてみてください。trackbar.cppのサンプルプログラムと同様に、while文の無限ループの中で、マウスイベントの状況を文字列として、dst_img上に描画しています。[#t019de18]+画像を読み込む。+トラックバーでR(赤)チャンネルの値の倍率を指定する。+加工した画像を表示する。[#k6f696f0]-自由な発想で人物写真を見栄えよく見せる画像処理を施し、保存してください。-GUIなどを使って、プログラム実行中にパラメータを変更できる工夫があると大幅に加点します。[#m87b9752]-指定したファイルが存在しない,パラメータが足りない,異常なパラメータが指定されたなど,処理が実行できない場合には,適切なエラーメッセージを表示せよ.-Webページを参考にした場合や,誰かに教えてもらった場合には,ソースコードの該当箇所にコメントにてURLや名前・学生番号を記述せよ(下記のリファレンスマニュアルは不要).-指定したファイルが存在しない、パラメータが足りない、異常なパラメータが指定されたなど、~処理が実行できない場合には、適切なエラーメッセージを表示してください。-適宜コメントを入れたり、関数化したりして、他人にもわかりやすいプログラムになるように心がけてください。~全くコメントのないものは減点します。-他人のプログラムを写したことが判明した場合は、両者とも0点になります。-課題内容に対応していないプログラムには点をつけられません。[#f58dd4aa]-下記の提出物を第5回(5/9)の講義開始時に回収する.-提出物一式を入れるフォルダの名前は学生番号とする.-第5回(5/16)の講義中に課題プログラムのコンパイルと実行が正しくできるかを確認します。-下記の提出物を第5回の講義日(5/16)24:00までにCLEで提出してください。--提出物一式を入れるフォルダの名前は学生番号(ログインIDではない!)にして,zipファイルに圧縮してください。[#n398cb0b]-仕様を満たしているか.-ソースコードの可読性の高さ.--機能ごとに関数を分け,分かりやすい関数名をつけているか(機能ごとにソースを分けて分割コンパイルをしても良い).--分かりやすい変数名をつけているか.--分かりやすいコメントを記述しているか.-機能に対応した分かりやすいコマンドであるか.-無駄な処理を行っていないか.-工夫に応じて加点する.-仕様を満たしているか。-ソースコードの可読性の高さ。--機能ごとに関数を分け、わかりやすい関数名をつけているか~(機能ごとにソースを分けて分割コンパイルをしてもよいです)。--わかりやすい変数名をつけているか。--わかりやすいコメントを記述しているか。-機能に対応した分かりやすいコマンドであるか。-無駄な処理を行っていないか。-工夫や加工の独創性に応じて加点します。大西までメールをください。~なお、件名は「AP2018:課題2」としてください。