什么是 Gamma 值,转百度百科解释:
Gamma:代表调整软件对于画素亮度的解释(关于理论部分,建议参考Norman Koren的网页)。Gamma值愈小,影像愈亮;Gamma值愈大,影像愈暗。Gamma调整的最大特色,是不容易让亮部爆掉(当然,这是指gamma往下调;如果是往上调,亮部更容易爆掉)。
譬如说,对于反差很大的影像,如果想让暗部变亮,往往会让亮部爆掉(所以不适合采用Exposure或Brightness调整),这种情况下可以把gamma值调小,让整个影像变亮,但亮部不容易爆掉(在PS里面,最简单的办法是把影像转换为32位档案,再转换回16位档案,然后在对话窗里调整gamma)。为什么?不妨看看gamma曲线的映射。Gamma值愈大,input每调整一单位,暗部的output变动相对愈小,但亮部的output变动相对愈大(换言之,只要gamma值不等于1.0,则其映射曲线暗部的斜率比较平坦,亮部的斜率比较陡峭,而且gamma值愈大,这种情况——暗部平坦而亮部陡峭——愈严重;由另一个角度来说,gamma值愈小,只要不等于1.0,亮部斜率虽然还是较陡峭,但程度已经降低了,所以不容易爆掉)。 对于影像处理来说,gamma值的调整,威力强大
可以看看这篇文章,《理解Gamma值》
http://forum.xitek.com/thread-179245-1-1-1.html
如果你用过 Photoshop,理解 Gamma 值就很容易,
Photoshop里有个调整色阶的功能,色阶可以设置白场,灰场,以及中间调,而中间调就是 Gamma 值 ,
将中间调向左拉,就会使用更多的色阶来显示亮部,所以图像就越亮,而反之则以更多的色阶显示暗部,所以图像越暗。
这与直接调整全图亮度是不同的,调节效果更加细腻丰富。
下面我们使用HTMLayout写一个简单的程序,演示伽马值调整效果。
import win.ui;
/*DSG{{*/
var winform = ..win.form( right=599;bottom=399;parent=...;text="HTMLayout 调整图像Gamma值";border="resizable" )
winform.add(
trackbar={ dr=1;dl=1;bottom=56;max=1;right=583;left=81;dt=1;top=26;z=2;min=0;cls="trackbar" };
edit={ dr=1;dl=1;bottom=25;right=589;left=10;multiline=1;top=4;z=1;dt=1;edge=1;cls="edit" };
static={ dr=1;dl=1;bottom=393;right=594;left=4;dt=1;top=60;z=3;db=1;transparent=1;edge=1;cls="static" };
lbGamma={ dl=1;bottom=54;align="right";text="Gamma值:";left=3;dt=1;top=35;transparent=1;right=74;z=4;cls="static" }
)
/*}}*/
import web.layout;
wbLayout = web.layout( winform.static )
wbLayout.html = /**
<body> </body>
**/
wbLayout.css = /**
body{
background-repeat:stretch;
background-image:url( data:image/jpeg;base64,
/9j/4AAQSkZJRgABAgEASABIAAD/7QG4UGhvdG9zaG9wIDMuMAA4QklNA+kAAAAA
AHgAAwAAAEgASAAAAAAC2gIo/+H/4gL5AkYDRwUoA/wAAgAAAEgASAAAAAAC2gIo
AAEAAABkAAAAAQABAQEAAAABJw8AAQABAAAAAAAAAAAAAAAAAAIAGQGQAAAAAABA
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAQBI
AAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNJxAAAAAAAAoAAQAAAAAAAAAC
OEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAAB
ADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABw
AAD/////////////////////////////A+gAAAAA////////////////////////
/////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////
////////////////A+gAADhCSU0EBgAAAAAAAgAE/+4ADkFkb2JlAGQAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAEHBwcNDA0YEBAYFA4ODhQUDg4ODhQRDAwMDAwR
EQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAgAIAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEB
AQEAAAAAAAAAAQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIx
QVEGE2EicYEUMpGhBxWxQiPBUtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdU
ZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE1OT0ZXWFlaW1xdXl9WZ2hpamtsbW
5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZqbnJ2en5KjpKWmp6
ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEyobHw
FMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU3
8qOzwygp0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH
1+f3OEhYaHiImKi4yNjo+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/dAAQA
QP/aAAwDAQACEQMRAD8A6vireKrhirYxVsYquGKt4q2MVbxVcMVbGKtjFV2Kt4q2
MVbGKtjFVwxVsYq3iq4YquxV2KtjFVwxVsYq3ireKrhireKtjFVwxVsYq3irYxVc
MVbxVsYquGKtjFWxirYxVcMVXYq4YquGKrhirYxVvFV2KtjFW8VbGKrhireKrsVb
GKt4quxV2KrsVbGKt4quGKv/0Or4quGKrsVdirYxVcMVbxVvFW8VXDFWxireKrsV
bGKt4quxVsYq3irYxVvFVwxVsYq2MVbGKrhirYxVsYq2MVXDFWxireKrhirYxVsY
quxVsYq2MVXYq4YquGKrsVdiq4YquxV2Krhiq4Yq2MVbxVdireKtjFWxiq4Yq2MV
XYq2MVbxVdirhiq4Yq2MVbGKtjFX/9Hq4xVsYquGKtjFW8VXDFW8VbxVsYquGKtj
FWxirYxVcMVbGKtjFWxiq4Yq2MVbGKrhirYxVsYq3iq4Yq2MVbxVfirsVbGKt4q2
MVXDFWxiq7FWxirYxVsYq3iq4Yq2MVbxVcMVXYq4Yq2MVXjFWxirYxVcMVbGKtjF
VwxVvFWxirYxVcMVbxVdirhiq4YquxVwxVcMVf/S6uMVbGKr8VdirYxVfirhirYx
VvFVwxVsYq2MVbGKrhireKtjFWxiq4YquxV2KrhirYxVsYq2MVXDFW8VbGKrhire
Kt4q2MVXDFW8VbGKtjFV2Kt4q2MVbxVcMVbGKt4q3iq/FXDFVwxVdireKtjFVwxV
vFWxirYxVcMVbxVdireKt4q2MVbGKrsVbGKtjFWxir//0+rjFW8VX4q4Yq2MVX4q
7FWxirYxVdirYxVsYq2MVXDFW8VXYq2MVbxVdirsVbGKrhirYxVvFV+KuGKtjFV+
KuGKtjFW8VXDFWxireKtjFV2Kt4q2MVbGKrsVXYq4YquGKtjFW8VXDFVwxVvFV+K
uxVvFWxiq7FWxirYxVsYquGKtjFV2KuGKrhirYxVsYq3ir//1OrjFVwxVdirhirY
xVcMVbGKt4q3iq4Yq2MVbGKtjFVwxVsYq2MVXDFWxiq7FXYquxVsYq2MVbxVcMVb
GKt4q2MVXYq3irYxVdirYxVsYquxVvFWxirYxVsYquxVdirhiq4YquxVwxVcMVXY
q2MVbxVcMVbGKt4quxVvFW8VbGKrsVbGKrsVdiq7FWxirYxVsYq//9Xq4xVsYqvx
V2KtjFVwxVsYq2MVbGKrhirYxVvFWxiq4Yq2MVbGKrsVbxVsYq3iq4Yq2MVbGKtj
FVwxVsYq3iq4Yq3irYxVsYquxVsYq2MVbGKrsVbGKtjFW8VXYq2MVbGKrhiq7FXD
FVwxVcMVbxVvFVwxVvFW8VXYq2MVbGKtjFVwxVsYquxVwxVcMVbGKtjFWxir/9bq
4xVcMVbGKt4q2MVbGKrhireKtjFV2Kt4q2MVbGKrhirYxVsYquxVvFWxirYxVcMV
XYq7FW8VXDFWxirYxVvFV2KtjFWxiq7FWxirYxVsYquGKt4q2MVbGKrhirYxVsYq
2MVX4q7FWxiq8Yq2MVbGKrhirYxVsYq2MVXDFWxirYxVcMVbGKtjFWxiq7FV2KuG
Kt4q/wD/1+r4q2MVXDFW8VbGKrhireKtjFWxiq7FWxirYxVcMVbxVsYq2MVbGKrh
irYxVsYquGKtjFW8VbGKrhirYxVsYquGKtjFWxireKtjFVwxVvFV2KtjFWxirYxV
sYquxVdirsVbGKr8Vdiq4YquxVsYq2MVXYq2MVbxVdirYxVsYquxVvFWxirYxVsY
quGKtjFWxiq4Yq//0OrjFVwxVsYq2MVbxVvFVwxVsYq2MVXDFWxireKtjFVwxVsY
q2MVbGKrhirYxVsYquGKtjFWxirYxVfirsVbGKtjFVwxVsYq2MVbGKrhirYxVsYq
uxVvFWxirYxVdirYxVvFWxiq/FXYq2MVXjFW8VbGKrhireKt4quGKtjFW8VbGKrh
irYxVsYq2MVXYq2MVbGKt4q//9Hq4xVcMVXYq4Yq2MVbxVcMVbGKt4quxVsYq2MV
bGKrsVbxVsYq2MVXYquxV2KrsVbGKtjFWxiq4Yq3irYxVcMVbxVvFWxiq7FWxirY
xVdireKt4quxVwxVcMVbGKtjFWxiq4Yq2MVXDFVwxVsYq2MVXDFW8VbGKrhirYxV
vFV2Kt4q3irYxVvFV2KrsVdirYxV/9Lq+KtjFVwxVsYq2MVX4q7FW8VbxVcMVbGK
tjFV2Kt4q2MVXYq4YquGKrsVcMVXYq2MVbxVvFVwxVvFW8VbxVcMVbGKtjFV2Kt4
q3irYxVdireKtjFWxiq4Yq2MVbGKt4quGKtjFW8VXjFW8VbGKrsVbxVsYq2MVXDF
W8VXYq2MVbGKtjFWxiq4YquxV2KtjFX/0+rjFWxiq4Yq2MVbGKrhirYxVsYq2MVX
DFW8VbGKrsVbGKtjFWxirYxVdiq7FXYquxVdirhirYxVcMVbGKtjFWxiq7FWxirY
xVdirYxVsYq2MVXYq2MVXYq4YquGKtjFWxiq7FWxirYxVcMVXDFWxireKrsVbxVs
YquxVvFWxirYxVdireKrsVcMVXYq2MVbxVsYq//U6uMVbxVfirhireKr8VdirYxV
sYquGKt4q2MVbGKrsVbGKtjFVwxVsYquxVwxVcMVbGKt4q2MVX4q4Yq3irYxVdir
eKtjFVwxVvFWxirYxVsYquxVsYq3iq4YquxVwxVvFVwxVsYq2MVXjFW8VbxVdirY
xVvFWxiq4Yq3irYxVdirYxVsYq2MVXDFWxireKrhir//1erjFW8VX4q7FWxiq/FX
Yq3irYxVcMVbGKt4q2MVXDFW8VbGKrhirYxVsYq2MVbGKr8VdirYxVcMVbGKtjFV
+KuGKtjFWxiq4Yq2MVbxVsYquGKtjFV2KtjFWxiq7FXYquxVdirsVXDFV2Kt4q2M
VXYq2MVbxVdirYxVsYq2MVXYq3irYxVsYquxVdirhirYxV//1urjFW8VX4q4Yq2M
VX4q4Yq3irYxVcMVbGKtjFWxiq7FW8VbGKrhirYxVsYq2MVXDFV2KuGKtjFV+KuG
Kt4quGKtjFWxireKrhirYxVvFV2KtjFWxirYxVsYquGKtjFWxiq4Yq2MVbGKrhiq
4Yq3irYxVcMVbxVsYquGKtjFW8VbGKrhirYxVsYq2MVXDFV2KuGKtjFX/9k=);
}
**/
winform.trackbar.setRange( 1,300 );
winform.trackbar.setFrequency(10);
winform.trackbar.oncommand = function(id,event,pos){
if( pos ){
winform.edit.text = "background-image-transformation: contrast-brightness-gamma(0.5,0.5," +pos/100+ ")";
wbLayout.queryEle("body").style["background-image-transformation"] = "contrast-brightness-gamma(0.5,0.5," +pos/100+ ")";
}
}
winform.show()
win.loopMessage();
,
|