HDR Tonemapping

llcdemo
left: original, right: local laplacian filtering enhanced

demo page


 

llcdemo2
left: original, right: local laplacian filtering enhanced

demo page


 

llcdemo3
left: original, right: local laplacian filtering enhanced

demo page


code

reference [Local Laplacian Filtering : Image Detail Enhancement and Tone Mapping]

這邊的 source image 因為 dynamic range 太大,所以直接上一個灰撲撲的 gamma correction 壓下來,才可存在 8-bit/channel 影像給 JavaScript 跑。故色彩斷階是難以避免的,還請讀者忽略。

這是一個用 javascript canvas寫的 demo 網頁,跑得非常之慢,可能會被瀏覽器關掉或提示,要有點耐心,不然就是下載後修改參數。 JavaScript 不能平行化,所以 speedup 演算法其實沒啥效果,感覺更拖累速度XD

其實還有一個平行化的手段就是使用 WebGL 來做 image filtering,但是這邊的 data type 是 32-bit float,而 WebGL 目前並不支援 float texture,勉強轉 fix point 包進 vec4.rgba 的 overhead 似乎更大阿...有空再來試試看了

One Reply to “HDR Tonemapping”

Leave a Reply

Your email address will not be published. Required fields are marked *