情報工学実験U: 課題3: 画像の色ヒストグラムを作る

<<色ヒストグラムとは>>

● 色ヒストグラムとは,画像に現れるさまざまな色が,それぞれ,画像の中のいくつのピクセルに出てくるかを,表したものです.
● 言い換えれば,色ヒストグラムとは,与えられた画像における,各色の頻度の分布です.

課題2では,赤の輝度,緑の輝度,青の輝度を,すべて,0か64か128か192の,4通りの値に減らしました.
● したがって,いまや,色のバリエーションは,43=64通りしかありません.

● そこで,この64通りの色が,それぞれ,画像を構成する数万のピクセルのうちのいくつに現れるかを,表にしてみましょう.


課題3
ppm形式の画像ファイルを読み込み,赤の輝度,緑の輝度,青の輝度それぞれのバリエーションを,
課題2でおこなったように4通りずつに減らした後,
これら43通りの色の各々が,画像を構成するピクセルのうち何個のピクセルに現れているかを,出力するプログラムを作りなさい.


<<課題3のヒント>>

● 例えば,次のような形式で出力してください.
0:0:0 455
0:0:64 50
0:0:128 0
0:0:192 0
0:64:0 715
0:64:64 269
0:64:128 0
0:64:192 0
0:128:0 0
0:128:64 0
0:128:128 0
0:128:192 0
0:192:0 0
0:192:64 0
0:192:128 0
0:192:192 0
64:0:0 61
64:0:64 4
64:0:128 0
64:0:192 0
・・・(以下略)
● 各行の前半は,減色後の赤の輝度,減色後の緑の輝度,減色後の青の輝度を,「:」(コロン)でつなげたものです.(コロンでなくてもいいです.)
● そして,各行の後半は,行の前半にある輝度の組み合わせで表される色が,いくつのピクセルに出てくるかを,示しています.

● プログラムが正しく動いているかどうかを確かめるには
cat image_data/0.ppm | ./ex3 > histo0.txt
のように実行し,得られたテキスト・ファイル「histo0.txt」の内容を
less histo0.txt
としたり,もしくは,emacsなどのテキスト・エディタを使って,確認してください.



提出すべきもの
課題3のソースコードと,ひとつの画像についての出力結果全体
(どの画像を使ってもかまわないです.ただし,どの画像を使ったか明記すること.)

[戻る]