このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1269438098/776
#  [1] 授業単元:プログラミング 
#  [2] 問題文: ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10608.txt 
#  
# グレースケール画像の輝度値を量子化し、量子化された画像を量子化レベルに応じて疑似カラー化します。
# 表1で規定された量子化レベルに合わせて疑似カラー画像を作成してください。
# ただし各量子化レベルに対する疑似カラー設定値(RGB)を入力できるようにすること。
# 
# 表1:
# 量子化レベル |0      |1        |2        |3       |4        |5        |6       |7        |
# 輝度値の範囲 |0-31   |32-63    |64-95    |96-127  |128-159  |160-191  |192-223 |224-255  |
# 疑似カラー設定|255,0,0|255,160,0|190,255,0|30,255,0|0,255,130|0,220,255|0,60,255|100,0,255|

グレースケール画像の輝度を量子化して擬似カラー画像に変換する(_グレースケールファイル,_擬似カラー画像ファイル) :-
        グレースケールファイルをヘッダとデータに分解(_グレースケールファイル,_グレースケール画像ヘッダ部文字ならび,_グレースケール画像データ部値ならび),
        グレースケールから擬似カラー画像ヘッダに変換(_グレースケール画像ヘッダ部文字ならび,_擬似カラー画像ヘッダ部文字ならび),
        グレースケール画像の輝度値を量子化し、量子化された画像を量子化レベルに応じて疑似カラー化する(_グレースケール画像データ部値ならび,_擬似カラー画像データ部値ならび),
        open(_擬似カラー画像ファイル,write,Ouput),
        put_chars(Output,_擬似カラー画像ヘッダ部文字ならび),
        close(Output),
        open(_擬似カラー画像ファイル,append,Ouput2,[type(binary)]),
        put_codes(Output2,_擬似カラー画像データ部値ならび),
        close(Output2),!.

グレースケール画像の輝度値を量子化し、量子化された画像を量子化レベルに応じて疑似カラー化する([],[]) :- !.
グレースケール画像の輝度値を量子化し、量子化された画像を量子化レベルに応じて疑似カラー化する([_グレースケール画素の輝度|R1],[R,G,B|R2]) :-
        輝度範囲(_量子化レベル,_輝度範囲下限,_輝度範囲上限),
        _グレースケール画素の輝度 >= _輝度範囲下限,
        _グレースケール画素の輝度 =< _輝度範囲上限,
        擬似カラー設定(_量子化レベル,R,G,B),
        グレースケール画像の輝度値を量子化し、量子化された画像を量子化レベルに応じて疑似カラー化する(R1,R2).
量子化レベル(0).
量子化レベル(1).
量子化レベル(2).
量子化レベル(3).
量子化レベル(4).
量子化レベル(5).
量子化レベル(6).
量子化レベル(7).

擬似カラー設定(0,255,0,0).
擬似カラー設定(1,255,160,0).
擬似カラー設定(2,190,255,0).
擬似カラー設定(3,30,255,0).
擬似カラー設定(4,0,255,130).
擬似カラー設定(5,0,220,255).
擬似カラー設定(6,0,60,255).
擬似カラー設定(7,100,0,255).

輝度値の範囲(0,0,31).
輝度値の範囲(1,32,63).
輝度値の範囲(2,64,95).
輝度値の範囲(3,96,127).
輝度値の範囲(4,128,159).
輝度値の範囲(5,160,191).
輝度値の範囲(6,192,223).
輝度値の範囲(7,224,255).