Loading………………Please Wait~(_Click2Close_)

2012年1月14日星期六


還原「伽瑪校正」真身


第一次開RAW檔時候發現,咦?怎麼比直出的JPG要暗一點的呢?
上網看別人講是要調一調伽瑪
不過看了半天都不懂伽瑪是甚麼又說甚麼人眼看到的灰階是log不是linear
又講甚麼線性轉換的
我真在是搞不懂伽瑪是啥?
也許有些人把顯示器裏的伽瑪和RAW檔裏的伽瑪混為一談吧?
沒錯這裏的伽瑪都是指曲線的斜率,但兩條曲線是不一樣的

先講RAW裏的DlogE曲線吧
D是Density濃度 LogE是 Log Exposure曝光值
為啥有個Log在曝光值的呢?
我們來看濃度的定義:
在黑白攝影裏越厚的底片能通過的光就越少,在相紙上留下的「黑」也越少
完全透光的底片會在相紙上形成黑色,相反完全不透光的底片會在相紙上留下白色
我們要去量度黑與白之間的差異就可以知道底片的透光率(Transmittance)
如果光線在通過底片前和通過底片後差差50%的話,我們就說透光率是50%
透光率的倒數就是不透明度(Opacity)50%透光率 = 不透明度2
不透明度有最大值1(透光率為100%)但沒有上限
所以我們要加工一下不透明度,用Log function
不透明度2的濃度就是Log2 = 0.333



21:35 0意見  ︳↑↑↑

………………………………>更多更多~~>>

2012年1月11日星期三


真正的標準鏡


初初接觸120中幅相機時就發現,為啥6x6相機的標準鏡是80mm但135片幅的是50mm呢?
後來知道了APS、m43等規格有相對於135的轉換率(對,真的是看了很久才知道囧)
原來6x6相對135的倍率是2倍,80mm鏡頭的視角就等於135的40mm鏡頭視角
咦?135不是50mm才是標準鏡嗎?
這個疑問很快又得到了答案,在偶然的情況下看了Leica的歴史知道50mm標準鏡是Leica定立的
之後看看Sigma DP1的網站才知道,原來人們一般認為標準鏡的焦距等於底片的對角線長
6x6=sqrt(36+36) = 8.48528137 cm所以6x6相機就用80mm作為標準鏡
但135底片的尺寸是24mm x 36mm
sqrt((24^2) + (36^2)) = 43.2666153 mm所以應該用40mm作為標準鏡才對呀
其實日系廠也真的有把40mm作為真正的標準鏡,就例如pentax-m 40mm f2.8 一支餅干鏡
所以很多人都覺得35mm鏡頭比起50mm鏡頭感覺更自然更舒服

無奈的是35mm這樣的短焦距鏡頭有着普遍的光學問題
變形、暗角、邊緣成像模糊全都很嚴重,焦距越短問題越大
長焦距的鏡頭問題反而好一些(雖然也會有啦)
現在<=35mm的鏡頭都是用反望遠設計可能也是這個原因
反望遠設計的鏡頭又有光圈不能做很大的問題
相比之下50mm鏡頭的表現好不少!
當年Leica選擇50mm也許是這個原故,使用那時十分流行的雙高斯設計容易造出大光圈的鏡頭
在120片幅80mm鏡頭則沒有這個問題

其實我心目中標準鏡就是便宜入門的代表
價錢合理質素好才能作為標準鏡
人們喜歡定焦鏡其實也是因為「平」!
能用不多的金錢就買到質素很高的鏡頭,對於入門的人來說尤其重要
所以我覺得現今來講標準鏡最重要的就是性價比高
攝影人想買新相機要配鏡頭,第一時間當然是找一顆標準鏡吧!


01:43 0意見  ︳↑↑↑

………………………………>更多更多~~>>

2012年1月7日星期六


X11 upgrade


很久之前就發現了,如果X11升級了需要重新編譯它的模塊
因為用用了nvidia和evdev所以升級很重啟電腦鍵盤滑鼠就不能用啦
這時候想離開圖形界面回去tty也沒有辦法
我只能在啟動時按一按i,這樣每個system service啟動前都會問是否啟動
只要跳過xdm就可以

之後便要重新emerge x11的模塊
可以用這句命令來看自己安裝了哪些:
$ equery l x11-drivers/*
* Searching for * in x11-drivers ...
[IP-] [ ] x11-drivers/nvidia-drivers-290.10:0
[IP-] [ ] x11-drivers/xf86-input-evdev-2.6.0:0
之後重新emerge一次即可:)


19:40 0意見  ︳↑↑↑

………………………………>更多更多~~>>

2012年1月1日星期日


HTML5 slide


之前講過的html slides最近又發現一個新東西~
deck.js是用js+css做演講稿
特點是演講稿的內容是用html寫,然後可以用css來制作樣式
播放等互動功能就讓javascript來做

再加上之前介紹過Docutils的rest2s5、W3C的HTML Slidy、Google的io-2011-slides
現在真的有不少這種工具@@


23:55 0意見  ︳↑↑↑

………………………………>更多更多~~>>

2011年12月23日星期五


Vim system clipboard


之前一直都不知道如何將vim裏的剪貼簿內容複制到系統的剪貼簿
預設的Vim是用自己的剪貼簿的,yy複制的內容不能用滑鼠右鍵貼上
好像是Vim裏每個剪貼簿都叫做register,而預設的是*
圖形界面的剪貼簿好似是用+
所以"+y是會複制到系統的剪貼簿,可以用"+p來貼上也可以在其他地方用滑鼠右鍵貼上
改用系統剪貼簿作為Vim預設的剪貼簿:
set clipboard=unnamedplus
貌似在Windows或Mac OS X用的是unnamed而不是unnamedplus,反正我在Linux裏需要的是unnamedplus

之前試過這個方法一直都不行,上網查查貌似Ubuntu需要安裝vim-gnome
果然sudo apt-get install vim-gnome後就沒問題了:)
Via


00:11 0意見  ︳↑↑↑

………………………………>更多更多~~>>

2011年12月3日星期六


MySQL user backup


備份MySQL使用者的方法
只備份權限的話很簡單:
show grants for wikiuser;
會輸出兩行GRANT XXXXX
只需要備份那兩行SQL code即可
需要回復的時候直接用admin user執行那兩句GRANT就能回復

所有使用者資料都是存放在mysql database裏的user table
mysql database只有admin user才能訪問的


17:19 0意見  ︳↑↑↑

………………………………>更多更多~~>>

2011年11月25日星期五


lighttpd htdigest


Lighttpd用htdigest方式登入,可以看這篇教學
我是使用了vhost的,不過主要是在url裏設定auth.require
例如要為trac設定登入,指定trac/.*/login需要認證才能訪問
我選擇了htdigest作為認證方式,clinet那邊會先把password跟username和realm做hash然後才傳給server
這種登入方式不是十分安全的但總比沒有好:)

auth.backend                   = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/lighttpd-htdigest.user"

    $HTTP["url"] =~ "^/trac/.*/login($|/)" {
        auth.require               = (
                                      "/" =>
                                      (
                                       "method"  => "digest",
                                       "realm"   => "XxXXXxxxXx",
                                       "require" => "valid-user"
                                      )
                                    )

除了在url裏指定auth.require還要在global的地方指定userfile的位置
在userfile裏存放了登入的帳號和密碼hash
格式是:
"username:realm:passwdhash"
可以用下面的function來方便地產生
function hdg() { user=$1; realm=$2; pass=$3; hash=`echo -n "$user:$realm:$pass" | md5sum | cut -b -32`; echo "$user:$realm:$hash" ; }
hdg user xxxxx ppppp
user:xxxxx:15c45a538d4d92f0a4f519311147f098



09:59 0意見  ︳↑↑↑

………………………………>更多更多~~>>

熱門文章

我每天都會努力的更新!
大家務必要天天來踩踩啊!!
發現了甚麼錯誤的話便直接告訴我~