このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1255709298/733 
#  [1] 授業単元:卒業研究 
#  [2] 問題文:白黒濃淡画像をガンマ補正するプログラムを作る 

ガンマ補正(_画像ファイル,_Headerの長さ,_ガンマ補正,_補正された画像ファイル) :- 
    open(_画像ファイル,read,Input,[type(binary)]), 
    open(_補正された画像フィル,write,Output,[type(binary)]), 
    for(1,N,_Headerの長さ), 
    get_byte(Input,C), 
    put_byte(Output,C), 
    N=_Headerの長さ, 
    get_byte(Input,C2), 
    ガンマ補正の一(C2,Input,Output,_ガンマ補正), 
    close(Output), 
    close(Input),!. 

ガンマ補正の一(-1,_,_,_) :- !.
ガンマ補正の一(C,Input,Output,_ガンマ補正) :- 
    _補正された値 is truncate(floor((( C / 255 ) ^ (1 / _ガンマ補正)) * 255 + 0.5)), 
    put_byte(Output,_補正された値), 
    get_byte(Input,C2), 
    ガンマ補正の一(C2,Input,Output,_ガンマ補正).