情報工学実験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のソースコードと,ひとつの画像についての出力結果全体 (どの画像を使ってもかまわないです.ただし,どの画像を使ったか明記すること.)
| |
[戻る]