*index [#qa253e0e] #contents *第3回の趣旨 [#sa340a9e] **OPenCVの機能の複合的利用[#ba4e5717] -複数の関数を組み合わせて,より複雑な処理ができるようになろう. **GUIに挑戦 [#rf2219f4] -マウスイベントを取得し,画像処理ソフトの一部をGUIで操作できるようにしよう. *練習 [#hfbd9d25] **サンプルプログラムのダウンロード [#s79620c1] +[[ここからダウンロード.>http://smg.ams.eng.osaka-u.ac.jp/tanaka/AdvancedPrograming2012/samples2.zip]] +ダウンロードしたら適当な場所で解凍しましょう. **サンプルプログラムを動かしてみよう [#z8cdd1cd] +第1回と同様に,2つのサンプルプログラム(mouse,change_pix)を動かしてみよう. +change_pixでは,コマンドライン引数で画像を読み込みます. ./main ../images/00.bmp +change_pixでは,imagesフォルダ内の別の画像も読み込んでみましょう. *課題:画像処理ソフトを作ろう(応用編)[#fafc23e5] **課題1で作成した切り取り機能のGUI化 [#t019de18] +画像を読み込む. +マウスのドラッグアンドドロップ操作で指定された領域を取得する. +切り取った画像を表示する. **赤目修整機能の追加 [#aeab64c7] +赤目の写真を読み込む. +マウスでクリックされた赤目の位置を取得する. +クリックされた位置の周辺の画素にアクセスし,赤目修整の処理を実行する. --赤目修整の処理は各自工夫して実装せよ. +赤目修整の実行結果を出力する. **(余力があれば)モザイク処理機能の追加 [#v565c31c] +画像を読み込む. +マウスのドラッグアンドドロップ操作で指定された領域を取得する. +指定領域をモザイク処理する. +モザイク処理した画像を表示する. **(さらに余力があれば)その他 [#c85423df] -画像処理に関する機能を自由に追加せよ. **注意事項 [#m87b9752] -指定したファイルが存在しない,パラメータが足りない,異常なパラメータが指定されたなど,処理が実行できない場合には,適切なエラーメッセージを表示せよ. -Webページを参考にした場合や,誰かに教えてもらった場合には,ソースコードの該当箇所にコメントにてURLや名前・学生番号を記述せよ(下記のリファレンスマニュアルは不要). **提出方法 [#f58dd4aa] -下記の提出物を第5回(5/16)の講義開始時に回収する. -提出物一式を入れるフォルダの名前は学生番号とする. -提出物 --ソースコード --コンパイルに使用するMakefile --その他,コンパイル・実行に必要なファイル **評価方法 [#n398cb0b] -仕様を満たしているか. -ソースコードの可読性の高さ. --機能ごとに関数を分け,分かりやすい関数名をつけているか(機能ごとにソースを分けて分割コンパイルをしても良い). --分かりやすい変数名をつけているか. --分かりやすいコメントを記述しているか. -機能に対応した分かりやすいコマンドであるか. -無駄な処理を行っていないか. -工夫に応じて加点する. *参考になるサイト [#r68ab4cb] -OpenCVライブラリに関する日本語リファレンスマニュアル~ [[OpenCV v1.0.0リファレンスマニュアル>http://opencv.jp/opencv-1.0.0/document/]]~ -自宅のPCで課題をやりたい場合~ [[Vine Linux on VMware Player]]~ *質問がある場合 [#c4e4f38c] -中西研 田中までメールをください.~ なお,件名は「AP2012:課題2」としてください.~ tanaka_AT_ams.eng.osaka-u.ac.jp (_AT_は@に変えてください)