SJE2015 ex04 †[edit]
Python + Numpy + OpenCV のプログラムの初歩 (1)
猫画像131枚を読み込んでその平均画像を出力する python プログラムを作りなさい.
- http://www-tlab.math.ryukoku.ac.jp/tlab/index.php?data から cat131-png.tbz というファイルアーカイブを探し,手元にダウンロードしなさい.
- 上記ページを参考に,上記アーカイブを展開し,画像を眺めてみなさい
- 得られた131枚の猫画像の平均を求め,PNGファイルとして出力するプログラムを作りなさい
Python + Numpy + OpenCV のプログラムの初歩 (2) + シェルスクリプトの初歩
人の顔の画像を読み込んでその平均画像を出力する python プログラムを作りなさい.
- 課題Aと同じリンク先から,なんたらface100 のディレクトリをたどり,ファイルアーカイブを手元にダウンロード&展開し,画像を眺めてみよう.
これらの画像は PGM アスキー形式なので, ImageMagick の display コマンドを使って
$ display hoge.pgm
のようにして表示したらよい.
- 次のように ImageMagick の convert コマンドを使うと,hoge.pgm を PNG 画像に変換した hoge.png を得ることができる.
$ convert hoge.pgm hoge.png
さらに convert コマンドにオプションをつけると,画像サイズを変更することができる.+ 上記顔画像を展開したディレクトリに次の内容のファイル hoge.sh を作成しよう.
#!/bin/sh
i=0
while [ $i -lt 10 ]; do
fnSrc=`printf "img%02d.pgm" $i`
fnDst=`printf "hoge%03d.png" $i`
echo "hogehoge" $fnSrc $fnDst
ls $fnSrc $fnDst
i=`expr $i + 1`
done
次のようにしてこれ(このようなファイルを「シェルスクリプト」という)を実行し,何が起こっているか理解しよう.
$ sh hoge.sh
ちなみに,
$ chmod a+x hoge.sh
として hoge.sh に実行許可を与えておけば,
$ ./hoge.sh
でも実行できる.
- 上記シェルスクリプトを元にして,人顔画像をPNG画像に変換しなさい.
全体の平均,男性の平均,女性の平均 †[edit]
得られた画像を読み込んで,全画像の平均,女性の平均,男性の平均の画像の3種類を作成する python プログラムを作りなさい.この画像データでは,番号の前半50枚と後半50枚で性別が分かれている.
Python + Numpy + OpenCV のプログラムの初歩 (3)
猫と人の顔画像を全部読み込んで,全画像の平均,猫の平均,男性の平均,女性の平均の画像をそれぞれ作成する python プログラムを作りなさい.猫と人で画像のサイズが異なるので,どちらかに合わせるようにすること.