Darktable 不專業新手入門

Update: Darktable 4.4.0 已經釋出了,提供了繁體中文界面以及大量的更新,最重要的是「場景參照 (S 形曲線階調映射)」。
此功能使用了 sigmoid function 來映射全黑和全白到相片的色彩空間,比電影式階段映射來得易用許多,在過曝的地方也比較貼近相機直出的色彩,推薦可以使用。

Darktable 是一款開放原始碼的修圖軟體。從名字就可以猜到功能和 Lightroom 類似,界面編排也很類似。不過,各種工具邏輯有天差地遠的差別。會想要學習的原因,主要是我很小氣,不想花錢訂閱 Lightroom。

在我努力嘗試用這個軟體好一陣子之後,開始比較上手了,因此寫了這篇文章記錄我的想法,也希望可以幫助其它準備跳入火坑的人。幸運的是,在最新的 4.0.1 版本,支援了繁體中文,可以稍稍降低一點學習曲線。

要先自清一下,我不是專業攝影師,純粹出於興趣喜歡拍照。修圖也不是我的專長,基於相關軟體的認知可能都是道聽途說加上多年累積起來的誤解。若文章內容有不正確的地方,歡迎留言指正。

在下載並安裝軟體之後,可以看到軟體主要分為兩個操作界面:燈箱 LightTable 以及暗房 Darkroom。這兩個分別對應到瀏覽以及修圖,和 Lightroom 非常類似。

LightTable 燈箱

LightTable 的組合,左上方是匯入已經存在的照片,可以原地匯入,或者複製到特定的資料夾。Darktable 也是透過類似編目資料庫的方式在管理照片,不過和照片本身的修改會存放在同資料夾同檔名的 .xmp 檔案,即使移除收藏庫,再次匯入,修改也會存在。RAW 檔案本身並不會被修改。
左下角有批次匯出照片的選單,中間就是已經匯入的照片,右邊是一些簡單的編輯功能,也可以套用之前儲存的風格檔。

若是選取了照片,雙擊就會進入 Darkroom 暗房編輯界面。在此界面,可以對相片做全面性的編輯。

需要注意的是,若是照片剛才才從相機匯入,則這裡所顯示的會是內嵌在 RAW 檔裡面的點陣圖縮圖。並不是 Darktable 所解讀並運算出的結果。也就是說,剛匯入的 RAW 檔看起來顯示會很正常,但一旦點進去到暗房,會重頭從 RAW 裡面運算,再產出預覽,此結果和從相機直出的 JPEG 會有落差。在 Nikon 的例子上,會顯示的比從相機直出的 JPEG 暗很多,需要額外調整曝光。

Darkroom 暗房

建議的偏好設定

在右上角燈箱 LightTable 的大分頁下面,有齒輪⚙️的圖示,可以進入應用程式的偏好設定。

運算方法:內部運算工作流程預設值:Scene-referred workflow 場景參照

這個是我花最多時間理解的部分。這裡的選項有場景參照和顯示參照。

我的解讀:一般的軟體都是顯示參照的修圖流程。所謂的顯示參照,就是先將 RAW 檔記錄到的灰階資訊,轉換為螢幕上可以顯示的 RGB 色域,再進行修改以及調色。好處是直覺,但壞處是由於先轉換到非線性空間再進行修改,在極端場景有可能遺失一些細節,或者容易產生斷階等。

若是使用場景參照的修圖流程,是將 RAW 檔的資訊,先對應到一個接近無上限的線性 RGB 色彩空間,所以就不會被螢幕所能顯示的 RGB 色域、灰階所限制。接著,各個模組在這個色彩空間裡面對 RAW 檔做各種處理。由於最終還是要輸出到螢幕上,因此還是需要轉換,只是轉換的流程會儘可能在修圖流程往後拉,儘可能保留足夠多的細節。

由於我並不是多年的 Lightroom 使用者,因此我也不好判斷此修圖流程的結果和 Lightroom 會有什麼差異,但總之 Darktable 是推薦使用這個流程。

更詳細的說明,可以參考這個 YouTube 影片,還有官方文檔

在 4.4.0 更新中,新增了「場景參照 (S 形曲線階調映射)」,可以在場景參照的前提下,使用 S 形曲線映射。

運算方法:白平衡校正預設模組:現代

官方軟體以及開發者是推薦使用現代的設定。現代的設定,會牽涉到兩個模組,「白平衡」以及「色彩矯正」。

我覺得這兩個似乎沒有特別的差異,但是如果是使用了現代的白平衡修正,在 Darkroom 暗房修圖裡面的白平衡模組,需要選擇「相機基準白點」,接著,再使用色彩矯正模組設定適合的白平衡、色溫以及光線種類。否則,會看到白平衡套用兩次的錯誤。

色彩校正模組可以調整的範圍非常大,邏輯應該是可以讓你選擇光線的種類、色溫。若是懶,也可以直接選擇套用相機設定,或使用右邊的滴管工具直接自動計算。

資料儲存:XMP

「為每張影像儲存附屬檔案」這裡建議選擇「編輯後」。這樣一來,僅有編輯過後的檔案才會儲存 XMP 檔案,不然只要匯入 Darktable 就會產生 .xmp 檔案,有點雜亂。

其它設定:界面配置

「使用滑鼠滾輪滾動模組面板」建議啟用。預設的模式是使用滑鼠滾輪調整選項之類的,有點不是那麼直覺,當然看個人啦。

繼續閱讀 “Darktable 不專業新手入門”
Darktable 不專業新手入門

Nikon Snapbridge 使用心得

數週前購入了 Nikon Z6ii 相機,

Nikon 的 Snapbridge app 真的非常好用,難得在 App store 上面可以看到評價不是低於三顆星的某種硬體支援 app。
只要配對好藍牙裝置,在手機開啟背景自動下載,相機也開啟關機狀態下傳送照片,就好了。

Snapbridge-app

真的這樣就好了。之後,只要拍完照,在背景相機就會自動連結手機並且上傳低畫質版本的照片到手機。
雖然是低畫質,但也是有兩百萬畫素,上傳 Facebook/Twitter/Instagram 綽綽有餘,套個濾鏡根本攝影大師。

nikon-settings

更棒的是,若是有啟動地理位址同步的功能,手機會定期在背景定期更新 GPS 資訊到相機,相機在拍照的時候會打上 GPS tag。

由於相機本身沒有內建 GPS 功能,因此啟動此功能會消耗更多手機的電力,但比起以前要額外準備 GPS 記錄器記錄軌跡,回家再使用不知道什麼軟體將 GPS 軌跡和照片檔案結合起來的複雜程序,實在是方便太多了。

沒想到在消費型數位相機逐漸被手機取代的今天,也能看到這樣的軟硬體整合的方案,瞄準很多顧客還是想要有相機的拍照品質但也希望可以方便的上傳社群媒體,不必什麼事情都回家拆記憶卡才能做。

雖然以前有一些古怪的產品號稱可以整合兩個世界,但大多數都只是懶惰的直接在相機上裝一個巨大螢幕和舊版本的 Android 作業系統,雖然勉強可以使用但兩邊的順暢度都很差,使用體驗很糟糕。

這個 app 真的值得我發一篇廢文來推廣。

Nikon Snapbridge 使用心得

RouterOS v7 vlan-filtering

雖然 RouterOS v7 啟動了對 MT7621 VLAN HW offloading 硬體加速的支援:
https://help.mikrotik.com/docs/display/ROS/Bridge#Bridge-BridgeHardwareOffloading

然而因為此 bug,若是你在 bridge 裡面對封包上 tag / 解 tag,依然還是會吃掉 CPU IRQ:
https://forum.mikrotik.com/viewtopic.php?f=1&t=177092#p878135

目前的替代方案,依然還是只能把 vlan interface 疊加在 bridge 上面,也就是官方文檔裡面提到的 VLAN on a bridge in a bridge:
https://wiki.mikrotik.com/wiki/Manual:Layer2_misconfiguration#VLAN_on_a_bridge_in_a_bridge

運作起來是也沒什麼問題,只是就醜了些,感覺沒有那麼優雅…

好消息是官方說此功能正在積極開發中了。

Update

似乎 DHCPv6-PD 也修好了?

/ipv6 address
add from-pool=hinet_ipv6_pool interface=bridge_vlan100_HOME
/ipv6 dhcp-client
add add-default-route=yes interface=pppoe-out2-dynamic pool-name=hinet_ipv6_pool rapid-commit=no request=prefix use-peer-dns=no
/ipv6 firewall filter
add action=accept chain=output
add action=accept chain=forward connection-limit=100,64 connection-state=established,related connection-type="" dst-limit=1,5,dst-address/1m40s headers=\
    :exact limit=1,5:packet time=0s-1d,sun,mon,tue,wed,thu,fri,sat
/ipv6 firewall mangle
add action=change-mss chain=forward dst-prefix=::/0 new-mss=clamp-to-pmtu passthrough=no protocol=tcp src-prefix=::/0 tcp-flags=syn
/ipv6 nd
add interface=bridge_vlan100_HOME managed-address-configuration=yes
/ipv6 settings
set max-neighbor-entries=8192

RouterOS v7 vlan-filtering

變更 lvm 分割區大小

lvm (Logical Volume Manager) 是一個複雜的邏輯分割區管理工具。

今天撞到一臺主機不知道怎麼搞得,/var 被切的超級大導致 /home 不夠用了,所以需要搬移一下空間…

首先先將 /var 的檔案系統縮小,保險起見建議可以縮小到目的大小的 90% 左右,之後可以再調整回來。

進行這個前步驟前需要先把 /var 解除掛載,使用 # fuser -vm /var 可以檢查有哪些 daemon 正在使用這個分割區,並且將其停止之,同時也要檢查一下檔案系統有沒有錯誤。

# e2fsck -f /dev/mapper/vg0-var

# resize2fs /dev/mapper/vg0-var 180G

然後使用 lvreduce 縮小 lvm 分割區的大小

# lvreduce -L 200G /dev/mapper/vg0-var

最後再將 /var 的檔案系統調整回目標的 200G

# resize2fs /dev/mapper/vg0-var

如此一來就可以把 /var 縮小了。

接下來我們需要增加 /home 的大小,做法類似,差異在 lvreduce 換成 lvextend

如果需要知道系統現在所有的 lvm partition, volume group 大小資訊等可以下 lvdisplay, pvdisplay, vgdisplay 等確定剩餘空間還有多少。

# lvextend -L 200G /dev/mapper/vg0-home

# e2fsck -f /dev/mapper/vg0-home

# resize2fs /dev/mapper/vg0-home

就大功告成。

變更 lvm 分割區大小

用 ssmtp 取代 sendmail

情境是,某主機僅提供網頁之服務,要將所有透過網頁或是系統寄出去的信轉到同一網域下的 smtp server。
雖然 sendmail 也可以做這件事,但 sendmail 的設定是在是太麻煩了,安裝新的程式還比較省時 😛

ssmtp 是一隻專門做這件事的程式,他本身沒有寄信的功能,僅能 forward 信件到外部 smtp server。

# cd /usr/ports/mail/ssmtp; make install replace

replace 可以把 sendmail 直接取代掉。

安裝好之後,修改設定檔:

root=[誰要收 root 的信]
mailhub=[外部 smtp server]
rewriteDomain=[寄出的信會顯示的來源網域]
hostname=[本機 hostname]
#FromLineOverride=YES
#這一行可以允許寄件人自訂信件的來源信箱

另外,也可以修改 php.ini:

sendmail_path = /usr/local/sbin/ssmtp -t

記得 man ssmtp 一下看看 ssmtp 有哪些男人可以看。

用 ssmtp 取代 sendmail