画像データの形式 (演習1)
作業ディレクトリの作成
- ログインしたら「ターミナル」を立ち上げる
-
$ cd $ mkdir image $ cd image $ mkdir e1 $ cd e1
- 画像処理論用に image, 今回の演習用に e1 ディレクトリを作成する
PBM 作成テスト
-
$ touch e101.pbm
- Finder で ~/image/e1 を開いて、e101.pbm を テキストエディットに Drag&Drop
- あるいはコマンドラインから
open -a TextEdit e101.pbmと入力
- あるいはコマンドラインから
-
P1 5 5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
- 以上を書き込み、保存。(最後の行末で改行しておくこと)
cat e101.pbmで確認
gimp による画像表示
- ASCII PxM ファイルは他のイメージブラウザで表示できないので、gimp を使う
こんな感じのアイコンがドックに入っている(と、思う)ので、クリックして起動- Gimp の ファイルメニューで ~/image/e1/e101.pbm を開く
- ディレクトリを指定して Open をクリックしないと開いていかない(ダブルクリックが効かない)みたい
- 5x5 の画像は小さいので 表示 -> ズーム で大きくして見る
形式変換
-
$ ppmtogif e101.pbm > e101.gif
- Finder にできた e101.gif をダブルクリックすると プレビュー で表示される
プログラムを使った画像作成
- 次のプログラムを作成して実行する
-
#!/usr/bin/env python # e102.py ... make RG plane of color cube f = open('e102.ppm', 'w') print >> f, 'P3' print >> f, '256 256' print >> f, '255' for y in range(256): for x in range(256): print >> f, x, y, 0 f.close()
プログラムの作成と実行
-
$ touch e102.py $ open -a TextEdit e102.py # プログラム作成 $ python e102.py
- できた画像(e102.ppm)を gimp で確認
pnmtojpeg e102.ppm > e102.jpgで JPEG 形式に変換し、プレビューで確認
自然画像のファイルサイズ
- 高知大学気象情報頁 -> 保存書庫 -> 日本付近の画像 から、自分の誕生日(2008 or 2009) の画像をひとつ選んで保存する。(Firefox のファイルメニューから)
jpegtopnm ファイル名.jpg > e103.ppmで PPM に変換pnmtopng e103.ppm > e103.pngで PNG 画像に変換(可逆圧縮)ls -lで JPEG, PPM, PNG のファイルサイズを確認
課題1
x101.pgmというファイルに 16x16 の ASCII PGM 画像を作成する。ただし、グレースケールのレベルは 0,1,2,3 の 4階調とする。画像はどんなものでもよいが、道路標識、禁煙サイン、顔マークなどアイコン的なものとする。- x101.pgm を GIF形式に変換して x101.gif を作成する
課題2
- x101.pgm を次のコマンドで 10倍に拡大する
pnmscale 10 x101.pgm > x102.pgm- x102.pgm を、JPEG 形式 (x102.jpg) と PNG 形式 (x102.png) に変換し、そのサイズを比較する
- プレビューでそれぞれを拡大して見た時、何か違いがあるだろうか?
課題3(発展課題)
- 時間があれば挑戦
- 以下のような画像を作成するプログラムを作りなさい。
- 300x300 pixel のサイズの画像内に太い線で円を描く
- 円の内側の直径は 200 pixel程度、外側の直径は 250pixel程度とする
本日の出席確認
- 菊地の画像処理論用アドレス へメール送信。 本文に学生コード・氏名を記入。課題1の結果(x101.gif) を添付。課題2の結果・考察を書く。 さらに感想・質問等を書いてもよい。
- 練習および課題の結果は指定したディレクトリに残しておくこと。評価の対象とします。
