プログラミングおよび実習II/20051027
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[ [[高橋のページ:http://tortoise1.math.ryukoku.ac.jp/~tak...
[ [[プログラミングおよび実習II]] ]
*プログラミングおよび実習II 2005年10月27日
#contents
**今日の課題: 画像を読み書き・加工するプログラムを作ろう
サンプル画像: [[uni3ascii.pgm>http://tortoise1.math.ryuko...
ブラウザを使って自分の prog2 ディレクトリ内に保存しましょ...
***課題1027-A (締切:10月27日,延長不可)
10月26日の演習問題を提出しチェックを受けて下さい.
***課題1027-B (締切:10月27日,締切延長権を使うと11月10日...
以下の二つをまとめてチェックします.
<プログラム image1.c>
+PGM画像を二次元配列に読み込む
+講義で説明した関数 Negate() で画素値を反転
+PGM画像として出力
<プログラム image2.c>
+PGM画像を二次元配列に読み込む
+演習問題で作成した関数 FlipHorizontal() で画像の...
+PGM画像として出力
&aname(pipe);
***課題1027-C (締切:10月27日,1027-Bを10月27日に提出した...
'<'や'>'を使って標準入力や標準出力をリダイレクトすると,...
$ ./image1 < uni3ascii.pgm | ./image2 > hoge.pgm
とすると,次のように画素反転と左右反転を一度に行うことが...
+image1 が uni3ascii.pgm を読み込み,画素反転したものをパ...
+image2 はそれをパイプ経由で受け取り,左右反転して hoge.p...
では,サンプル画像の uni3kowai.pgm を入力として,
$ ./image1 < uni3kowai.pgm | ./imge2 | ./image3 > hoge.pgm
と実行すると hoge.pgm が uni3ascii.pgm と同じ画像になるよ...
**おまけ
***いろんな画像を加工してみたいという人は
実習室のLinux環境では,Netpbmという画像変換・処理ツール群...
例えばhoge.jpgという名前のJPEG画像が手元にあるとしたら,
% jpegtopnm < hoge.jpg > hoge.ppm
とすると,PPM(バイナリ形式)の画像ファイル hoge.ppm が作...
% ppmtopgm -plain < hoge.ppm > hoge.pgm
とすると,PGM(アスキー形式)の画像ファイル hoge.pgm が作...
% jpegtopnm < hoge.jpg | ppmtopgm -plain > hoge.pgm
としても構わないですね.
この hoge.pgm を自分の作ったプログラムに入力して遊んでみ...
ちなみに,上記の -plain というのは,ppmtopgmが出力するPGM...
ではなくアスキー形式にするためのオプションです.jpegtopnm...
% jpegtopnm -plain < hoge.jpg > hoge.ppm
とすれば,hoge.ppm はアスキー形式のPPM画像になります.こ...
ところで,PNMの画像フォーマットでは,ヘッダに#ではじまる...
**ポインタについて復習しよう
こちらをどうぞ: 「[[ポインタの話>http://tortoise1.math.ry...
終了行:
[ [[高橋のページ:http://tortoise1.math.ryukoku.ac.jp/~tak...
[ [[プログラミングおよび実習II]] ]
*プログラミングおよび実習II 2005年10月27日
#contents
**今日の課題: 画像を読み書き・加工するプログラムを作ろう
サンプル画像: [[uni3ascii.pgm>http://tortoise1.math.ryuko...
ブラウザを使って自分の prog2 ディレクトリ内に保存しましょ...
***課題1027-A (締切:10月27日,延長不可)
10月26日の演習問題を提出しチェックを受けて下さい.
***課題1027-B (締切:10月27日,締切延長権を使うと11月10日...
以下の二つをまとめてチェックします.
<プログラム image1.c>
+PGM画像を二次元配列に読み込む
+講義で説明した関数 Negate() で画素値を反転
+PGM画像として出力
<プログラム image2.c>
+PGM画像を二次元配列に読み込む
+演習問題で作成した関数 FlipHorizontal() で画像の...
+PGM画像として出力
&aname(pipe);
***課題1027-C (締切:10月27日,1027-Bを10月27日に提出した...
'<'や'>'を使って標準入力や標準出力をリダイレクトすると,...
$ ./image1 < uni3ascii.pgm | ./image2 > hoge.pgm
とすると,次のように画素反転と左右反転を一度に行うことが...
+image1 が uni3ascii.pgm を読み込み,画素反転したものをパ...
+image2 はそれをパイプ経由で受け取り,左右反転して hoge.p...
では,サンプル画像の uni3kowai.pgm を入力として,
$ ./image1 < uni3kowai.pgm | ./imge2 | ./image3 > hoge.pgm
と実行すると hoge.pgm が uni3ascii.pgm と同じ画像になるよ...
**おまけ
***いろんな画像を加工してみたいという人は
実習室のLinux環境では,Netpbmという画像変換・処理ツール群...
例えばhoge.jpgという名前のJPEG画像が手元にあるとしたら,
% jpegtopnm < hoge.jpg > hoge.ppm
とすると,PPM(バイナリ形式)の画像ファイル hoge.ppm が作...
% ppmtopgm -plain < hoge.ppm > hoge.pgm
とすると,PGM(アスキー形式)の画像ファイル hoge.pgm が作...
% jpegtopnm < hoge.jpg | ppmtopgm -plain > hoge.pgm
としても構わないですね.
この hoge.pgm を自分の作ったプログラムに入力して遊んでみ...
ちなみに,上記の -plain というのは,ppmtopgmが出力するPGM...
ではなくアスキー形式にするためのオプションです.jpegtopnm...
% jpegtopnm -plain < hoge.jpg > hoge.ppm
とすれば,hoge.ppm はアスキー形式のPPM画像になります.こ...
ところで,PNMの画像フォーマットでは,ヘッダに#ではじまる...
**ポインタについて復習しよう
こちらをどうぞ: 「[[ポインタの話>http://tortoise1.math.ry...
ページ名: