カラー画像で遊ぼう!

カラーの画像ファイルの例 を見てみましょう. グレースケールの PGM 形式では, 1画素が, 1個の階調値で表されていたのに対し, カラーの PPM形式では, 1画素が, RGB(赤緑青)それぞれの階調値, 計3個で表されます.

RGB値と実際の色との対応は, よく, HTML の本や, Web ページに表示されています. Windows が使えるようなら, スタートメニュー>プログラム>アクセサリ>ペイント>色>色の作成を利用して調べるのが手軽です.

次のプログラム例では, 入力画像の i 行 j 列の赤の階調値が pic1[0][i][j] に, i 行 j 列の緑の階調値が pic1[1][i][j] に, i 行 j 列の青の階調値が pic1[2][i][j] にそれぞれセットされます. そこで, これら値から, 出力画像の各画素の赤緑青の階調値をそれぞれ計算します. そして, i 行 j 列の赤の階調値を pic2[0][i][j] に, i 行 j 列の緑の階調値を pic2[1][i][j] に, i 行 j 列の青の階調値を pic2[2][i][j] にそれぞれセットすればいいのです.

課題

入力画像の i行 j列の RGB値が (R,G,B)=(a,b,c) であるとき, 出力画像の i行 j列の RGB値を (R,G,B)= ( (a*30+b*59+c*11)/100*240/255, (a*30+b*59+c*11)/100*200/255, (a*30+b*59+c*11)/100*145/255) ) とするようなプログラムを作ろう.

課題

下のサンプルは, カラー画像を左右に裏返すプログラムです. これを改造して, 画像を上下に裏返すプログラムを作ろう.
Copyright © 2003 Saburo Higuchi. All rights reserved.
樋口三郎 http://www.math.ryukoku.ac.jp/~hig/ hig mail address