画像データの形式 (演習1)
作業ディレクトリの作成
- ログインしたら「ターミナル」を立ち上げる
$ cd $ mkdir image $ cd image $ mkdir e1 $ cd e1
- 画像処理論用に image, 今回の演習用に e1 ディレクトリを作成する
PBM 作成テスト
$ touch test.pbm
- Finder で ~/image/e1 を開いて、test.pbm を テキストエディットに Drag&Drop
- あるいはコマンドラインから
open -a TextEdit test.pbm
と入力
- あるいはコマンドラインから
P1 3 3 0 1 0 1 0 1 0 1 0
- 以上を書き込み、保存。(最後の行末で改行しておくこと)
cat test.pbm
で確認
gimp による画像表示
- ASCII PxM ファイルは他のイメージブラウザで表示できないので、gimp を使う
- こんな感じのアイコンがドックに入っている(と、思う)ので、クリックして起動
- Gimp の ファイルメニューで ~/image/e1/test.pbm を開く
- ディレクトリを指定して Open をクリックしないと開いていかない(ダブルクリックが効かない)みたい
- 3x3 の画像は小さいので 表示 -> ズーム で大きくして見る
形式変換
$ ppmtogif test.pbm > test.gif
- Finder にできた test.gif をダブルクリックすると プレビュー で表示される
練習
e101.pgm
というファイルに 16x16 の ASCII PGM 画像を作成する。ただし、グレースケールのレベルは 0,1,2,3 の 4階調とする。画像はどんなものでもよいが、道路標識、禁煙サイン、顔マークなどアイコン的なものとする。- e101.pgm を GIF形式に変換して 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 で確認
ppmtojpeg e102.ppm > e102.jpg
で JPEG 形式に変換し、open で確認
練習
- 4隅が 黒、赤、マゼンタ、青 になるカラー画像(e103.ppm)を作るプログラム(e103.py)を作成しなさい。
携帯で撮った画像
- カメラ付き携帯を持って来ている場合
- メールに添付して大学の自分のメールアドレス ([email protected])へ送信する。
- Thunderbird で画像を数秒クリック状態にするとメニューが出るので、画像を保存する。
- ~/image/e1 に直接保存できない場合は、一旦デスクトップに保存し、ターミナルで ~/image/e1 から
mv ~/Desktop/*.jpg .
のような感じで移動させる。
携帯等の画像が無い場合
画像の形式変換
jpegtopnm ファイル名.jpg > e104.ppm
で PPM に変換ppmtopgm e104.ppm > e104.pgm
で PGM (白黒画像) に変換ppmtogif e104.pgm > e104.gif
で GIF に変換ls -l
でファイルサイズを確認しておくこと