Dynamic Range ของ D800 RAW

ปกติแล้วผมไม่ค่อยจะเขียนถึงกล้อง DSLR มากนัก ทั้งๆ ที่ใช้งานมันเป็นหลัก มากกว่ากล้องตัวอื่นๆ ที่มีอยู่ทั้งหมด และบอกตามตรงว่าเวลาไปเที่ยวไหนที่คิดว่าจะถ่ายภาพจริงจังมากกว่าเที่ยว ก็ยังต้องใช้เป็นกล้องหลักอยู่เสมอก็ตาม

แต่วันนี้ต้องเขียนถึงเรื่องหนึ่งเป็นกรณีพิเศษสักหน่อย ก็คือเรื่อง Dynamic Range ของไฟล์ RAW จากกล้อง D800 ครับ

เป็นที่รู้กันดีว่าไฟล์ RAW ของ D800 นั้นเก็บข้อมูลไว้มหาศาล (ถ่าย 14-bit แบบบีบอัดข้อมูลจะใช้พื้นที่กว่า 30MB/ไฟล์) และที่ base-ISO สามารถเก็บ Dynamic Range ของแสงที่ต่างกันไว้ได้ถึงประมาณ 14-stop ซึ่งถือว่ามากมายเอาเรื่อง …. แต่ในการใช้งานจริง มันหมายถึงอะไรล่ะ?

ลองมาดูภาพที่แปลงจาก RAW แบบดิบๆ ไม่ได้ทำอะไรจากกล้องก่อนนะครับ

ภาพนี้ผมถ่ายตอนที่ไปเที่ยวกระบี่ แล้วเห็นฝรั่งนักท่องเที่ยวคู่หนึ่งกำลังบอกรักกันแบบหวานมาก ที่ร้านเครื่องดื่มแห่งหนึ่งบนเกาะไร่เลย์ … “เฮ้ย สวยมาก” ผมคิด และหยิบกล้องขึ้นถ่ายไว้ทันที โดยที่กล้องตั้งไว้เป็น Aperture Priority ตั้ง Matrix Metering ซึ่งจะเอาลักษณะของภาพที่มันเก็บได้ ไปเทียบกับลักษณะภาพในฐานข้อมูล และจัดการตั้งค่าให้เหมาะสมกับภาพที่กำลังถ่าย (และได้รับการอัพเกรดให้มีจำนวนจุดวัดแสงทั้งหมด 91,000-pixel เทียบกับ D700 ซึ่งมี 1,005 จุด) และไม่มีการชดเชยแสงแต่อย่างใด


"Dear, I love you" [RAW]

“Dear, I love you” [RAW]

ตามคาดครับ “มืด” เพราะว่าแสงข้างนอกนั้นจ้ามาก สว่างมาก เรียกว่าถ้าจะชดเชยแสงก็ต้องไม่ต่ำกว่า 1-stop (+1EV) แน่ๆ แต่ถ้าเป็นแบบนั้นข้างนอกก็จะสว่างไปอีก … และแล้ว วินาทีนั้นก็ผ่านไป ….

ถ้าเป็นเมื่อก่อนคงจะคิดว่า “รูปเสีย” กับปลอบใจตัวเองว่า “เออ เอาไปทำ Silhouette ก็ได้ฟะ น่าจะสวยไปอีกแบบ” แหงๆ แต่เพราะว่ารู้ว่า D800 RAW มันน่าจะ “เอาอยู่” กับสถานการณ์แบบนี้

Continue Reading →

Setup Aquamacs for Erlang

A quick note about how to setup Aquamacs (Cocoa Emacs distribution) for coding Erlang (the next kid in town).

I assume you install Erlang via Macports so if you install it via any other mean, something will vary (I used to install it, along with everything else, from source; but currently the Macports is just easier).

The setup is simply adding the following lines into your ~/.emacs file

(setq load-path (cons "/opt/local/lib/erlang/lib/tools-2.6.4/emacs" load-path))
(setq erlang-root-dir "/opt/local/lib/erlang")
(setq exec-path (cons "/opt/local/lib/erlang/bin" exec-path))
(require 'erlang-start)

Please note that the actual path may vary from installation to installation (version numbers, most probably). So check yours.

ทำภาพ High Dynamic Range เทียม (#2)

คราวนี้ลอง RAW ของ D3 (NEF บ้าง) ด้วยเทคนิคเดียวกัน ขั้นตอนเดียวกัน

  1. ภาพต้นฉบับ ลองสังเกตบริเวณที่แสงจ้า (ภายนอกหน้าต่าง) และบริเวณที่เป็นมืด (ขอบหน้าต่าง, ข้างตูสีแดง, ผนังใต้หน้าต่าง ฯลฯ) นะครับ

    nef_hdr_001.jpg

  2. ภาพ +1, +2 EV จะเห็นบริเวณที่มืดชัดเจนขึ้น

    nef_hdr_002.jpg

    nef_hdr_003.jpg

  3. ภาพ -1, -2 EV จะเห็นบริเวณนอกหน้าต่างชัดเจนขึ้น

    nef_hdr_004.jpg

    nef_hdr_005.jpg

  4. ภาพที่ทำ HDR เทียมเรียบร้อยแล้ว ลองเทียบกับภาพต้นฉบับดูครับ

    nef_hdr_006.jpg

คิดว่าเทคนิคนี้คงจะเป็นประโยชน์กับหลายๆ คนนะครับ ซึ่งเทคนิคนี้อาจใช้ได้ดีกับกรณีที่ต้องการจะถ่ายฟ้าให้ฟ้าสวยๆ และยังคงรายละเอียดอื่นๆ ในส่วนอื่นๆ ไว้ไม่ให้มืดไปด้วยครับ

ทำภาพ High Dynamic Range เทียมแบบขำๆ

สำหรับคนถ่ายรูป คงจะรู้จักภาพแบบ High Dynamic Range (HDR) แน่ๆ โดยหลักการคร่าวๆ แล้ว HDR จะมีจากแนวความคิดที่ว่า “มันมีอะไรเสมอ ในที่แสงจ้า และที่มืด” และความจริงที่ว่า เซนเซอร์รับภาพ และหน่วยประมวลผลภาพของกล้องดิจิทัล ไม่สามารถเห็นช่วงของแสงได้กว้างเท่ากับที่ตาเราเห็น

ลองนึกดูเล่นๆ นะครับ เวลาเรามองไปที่หน้าต่างที่เปิดอยู่ เราจะเห็นวิวทิวทัศน์ข้างนอก ได้พร้อมกับเห็นรายละเอียดของขอบหน้าต่าง (หรือลายของผ้าม่าน) ได้อย่างชัดเจน แต่ถ้าเราถ่ายรูปล่ะ เรามักจะเห็นว่า ถ้าเราต้องการให้เห็นวิวข้างนอก ขอบหน้าต่างและม่านจะมืด แต่ถ้าเราต้องการให้เห็นขอบหน้าต่างชัด วิวข้างนอกก็จะสว่างไปจนมองไม่เห็นอะไร

เลยเป็นที่มาของเทคนิคการทำ HDR ครับ โดยปกติการทำ HDR เราจะต้องถ่ายภาพเดียวกัน ที่หลายๆ exposure เป็นลำดับ (เช่นถ่าย 5 ภาพ ต่างกันภาพละ 1 EV ซึ่งจะได้ที่ -2 EV, -1 EV, 0 EV, 1 EV, 2 EV) เพราะในขณะที่ -EV จะทำให้ภาพมืด แต่ก็จะรักษารายละเอียดในส่วนที่สว่างของภาพไว้ได้ ซึ่งตรงข้ามกับ +EV ที่จะทำให้เห็นรายละเอียดในส่วนที่มืดชัดขึ้น ซึ่งการถ่ายลักษณธนี้เราเรียกว่า exposure bracketing

ทีนี้ ถ้าเราไม่ได้ถ่าย exposure bracketing เอาไว้ล่ะครับ ทำอย่างไรดี? ซึ่งเราก็ยังคงโชคดีอยู่บ้าง ถ้าเราถ่าย RAW เอาไว้ เพราะว่า RAW จะเก็บข้อมูลของเรื่องแสงที่เซนเซอร์บันทึกไว้ได้ เอาไว้พอสมควร ซึ่งทำให้เรายังพอจะปรับ exposure value เพื่อดึงเอารายละเอียดในส่วนที่มืดและสว่างกลับมาได้บ้าง ก็เลยเป็นที่มาของ “HDR เทียม” ที่เราจะคุยกันในวันนี้ครับ

ปกติผมไม่เคยได้ลองเทคนิคพวกนี้หรอกนะ เพราะว่าไม่ได้ถ่าย RAW จนกระทั่งมาเล่น Leica M8 ซึ่งมี JPEG engine ที่ห่วยมากๆ จนต้องถ่าย RAW แบบไม่มีทางเลือก (และ RAW ของ M8 ก็ใช่ว่าจะดีนะครับ .. นอกจากเป็น DNG แล้วผมยังหาข้อดีของ M8 RAW ไม่ค่อยจะได้เลย และ M8 ยังมี DR ที่งั้นๆ เทียบกับกล้องอีกลายๆ ตัวอีกด้วย … แต่ไม่ขอพูดถึงมากล่ะครับ เดี๋ยวจะกลายเป็นรีวิว M8 ไป)

ลองทำตามนี้ครับ

  1. หา RAW มาสักภาพหนึี่ง สมมติว่าเป็นภาพด้านล่างนี้ละกัน จะเห็นว่ารายละเอียดตรงเหล็กขึงสะพาน (สีเหลือง) มืดไป ในขณะที่รายละเอียดบนเมฆบางส่วนก็หายไป (ขาวจ๋อง)

    test_fake_hdr_005.jpg

  2. จากนั้นปรับ exposure value ให้ไปทาง + EV เพื่อดึงเอารายละเอียดในที่มืดคืนมา ในตัวอย่างนี้ผมดึงไป +1 EV, +2 EV ตามลำดับ

    test_fake_hdr_001.jpg

    test_fake_hdr_002.jpg

  3. จากนั้นทำอย่างเดียวกัน ไปทาง – EV เพื่อดึงเอารายละเอียดบนเมฆกลับมาบ้าง ซึ่งผมทำเท่ากันคือ -1 EV, -2 EV

    test_fake_hdr_003.jpg

    test_fake_hdr_004.jpg

  4. จากนั้นก็ให้เอาโปรแกรมที่ทำพวก HDR (เช่น Photomatix Pro) มารวมกัน และทำ Tone Mapping (วิธีการใช้โปรแกรมพวกนี้ผมไม่ขอพูดถึง เพราะหาได้ทั่วไป …. และผมเองก็ “เล่นไม่เป็น” ด้วย) ซึ่งผลที่ได้จะเป็นแบบนี้

    test_fake_hdr_001_2_3_4_5_tonemapped.jpg

ก็ … ถึงจะสู้ทำ HDR แท้ไม่ได้ แต่ว่าก็ยังดีกว่าทำไม่ได้ล่ะนะ … ภาพนี้ถ่ายขณะรถติดบนสะพานพระราม 8 คงไม่มีเวลาจะตั้งขาตั้งและถ่าย bracket แบบจริงๆ จังๆ ล่ะครับ

แต่ว่ายังงั้นยังงี้ … กล้อง DSLR หลายตัวในปัจจุบันมันมีเทคโนโลยีฉลาดๆ มากมาย (เช่น Automatic/Adaptive High Dynamic Range ในชื่อต่างๆ กัน .. เช่น Active D-Lighting ของ Nikon เป็นต้น) และเซนเซอร์ที่ดี มี DR กว้างเอาเรื่อง … ดังนั้น ถ้าเมื่อไหร่ที่ผมใช้ D3 ถ่ายทั่วไป ผมก็ยังถ่าย JPEG เหมือนเดิมน่ะแหละ

รวมปัญหาเรื่อง lib ใน Leopard

ตอนนี้เริ่มเล่น Leopard ในฐานะของนักพัฒนาโปรแกรมและพวกชอบงัดแงะมากขึ้น และตอนนี้เท่าที่ลองเล่นก็เจอปัญหาโน่นนี่นิดหน่อย ซึ่งได้ post ไว้ใน ThaiMacDev เรื่อยๆ แต่ว่าขอรวบรวมไว้ตรงนี้อีกที่หนึ่งละกัน

ไว้เจอมากกว่านี้แล้วจะ post ไว้เรื่อยๆ ครับ

App: Leopard MenuHack

บ่นกันจัง ว่า Menu bar ใน Leopard มันกวนสายตา กวนใจ ไม่พอ ยังทำให้ต้องเรื่องมากขึ้นอีกเยอะกับการเลือก background สักรูป เพราะว่าไม่งั้นมันจะอ่าน menu bar ลำบากเอา

kiterminal ไปเจอโปรแกรมเจ๋งๆ ตัวนึงมา ชื่อ Leopard MenuHack หน้าที่ของมันคือให้เราปรับสีตรงที่จะไปอยู่ด้านหลัง menu bar ได้เลย (เหมือนกับเอาแถบสีไปแปะบน desktop background น่ะแหละ) แถมเป็น open source (ใช้ GPL) ด้วย

วิธีการใช้ค่อนข้างจะตรงไปตรงมา แต่ว่ายังให้ความรู้สึก hacked พอควร (ก็สมชื่อ) ยังมีปัญหานิดหน่อย แต่ว่าก็ทำงานได้ดี ผมก็เลือกให้เป็นสีดำตลอดเลย ไม่ว่าจะใช้ background อะไรก็ตาม สรุปว่าลองใช้กันดูครับ

iChat Theater Setting

สำหรับคนที่เล่น Leopard แล้วอยากจะลองใช้ iChat Theater ให้มี side-by-side view แบบใน Demo/Keynote/Web/Screenshots ทั่วไป แต่ว่าเมื่อลองแล้วกลับไม่เป็นแบบนั้น ให้ทำแบบนี้ครับ

  1. เข้าไปที่ System Preferences แล้วไปยัง QuickTime streaming speed
  2. เปลี่ยน speed ให้มากหน่อย (ผมลอง 1.5 แล้วใช้ได้) อย่าใช้ Automatic
  3. ปรับ bandwidth limit ที่ Audio/Video ใน iChat Preferences ให้เป็น None

ตัวอย่างในรูปนี่ไม่ใช่รูปผมนะ แต่เป็นลูกศิษย์ (neokain) ที่สถาบันวิจัย ตอนกำลังทดสอบ iChat Theater กันครับ ส่วนรูปที่แชร์นี่ถ่ายจากนครธมที่เขมร …​ เหมือนกับตราสโมสรฟุตบอลอะไรซักอย่าง

แก้ Dock ใน Leopard

Dock เปลี่ยนไปเยอะมากมายใน Leopard และถึงผมจะเริ่มชินกับมันบ้างแล้ว แต่ว่าผมก็ยังไม่ค่อยจะชอบมันเท่าไหร่อยู่ดี ครั้นลองเปลี่ยนไปเป็น 2D ตามที่ เคย post ไว้ก่อนหน้านี้ ผมก็รำคาญขอบสีขาวของมันอยู่ดีน่ะแหละ เลยเปลี่ยนกลับไปเป็น 3D เหมือนเดิมอะไรๆ มันก็พอจะเริ่มรับได้ล่ะนะ ยกเว้นเจ้าทางม้าลาย ที่ผมว่ามันเกะกะจัง มัน visual distraction มากเลย ก็เลยหาทางเอาออกซะสรุปว่า ผมก็เลยหาทางเล่นกับ Dock ตัวนี้ซะเลย ทำตามนี้นะครับ

  1. เปิด Finder ไปที่ /System/Library/CoreServices 
  2. หา Dock.app แล้ว click ขวา เลือก Show Package Contents
  3. เข้าไปใน Contents/Resources
  4. จากนั้นก็หาไฟล์ชื่อดังนี้ scurve-[l,m,sm,xl].png ซึ่งเป็นไฟล์สำหรับฐานรอง Dock และไฟล์ที่ขึ้นต้นด้วย separator ซึ่งเป็นไฟล์ตัวกั้นลายทางม้าลาย (มี 3 ไฟล์ ชื่อคล้ายๆ กันตามรูปแบบของตัวกั้นที่ใช้งาน สำหรับ 3D Dock แล้วก็ 2D Dock ด้านข้างและด้านล่าง)
  5. จากนั้นจะทำอะไรกับไฟล์เหล่านี้ก็ตามสบายครับผม อย่าลืม backup ไว้ก่อนล่ะ
  6. จากนั้นก็หาทาง restart Dock ซึ่งง่ายที่สุดก็เปิด Terminal.app แล้วก็พิมพ์ว่า killall Dock กด enter
  7. Boom!

ใครที่ถนัดใช้ command line อยู่แล้ว ก็เปิด Terminal.app แล้วก็พิมพ์

cd /System/Library/CoreServices/Dock.app/Contents/Resources

แล้วก็เชิญงัดแงะตามสบายได้เลยรูปด้านล่างนี้เกิดจากการที่ผมย้ายไฟล์ทางม้าลายที่ว่านี่ไปไว้ที่อื่น

[update 1]: เพิ่งจะงัดแงะต่อ กับการแก้ขอบขาวใน 2D Dock พบว่าถ้าย้ายไฟล์ bottom[1-5].png ไปไว้ที่อื่นแทน แล้วก็ทำเป็น 2D Dock อย่างที่เขียนใน post ที่ link ไว้ข้างบน ขอบขาวมันจะหายไป…

Happy Hacking ครับ

จับภาพหน้าต่างใน Leopard

หลายคนที่เคยใช้ command+shift+4+space ในการจับภาพหน้าต่างใน Mac OS X คงจะชอบแฮะ เพราะว่าตอนนี้มี shadow รอบหน้าต่างแล้ว ไม่ต้องไปทำเอง

(ไอ้กรอบขาวๆ รอบๆ นี่ไม่เกี่ยวนะ อันนั้น HTML table code กับ theme ของ blog นี้ ส่วนที่ ​Leopard เพิ่มเนี่ย เฉพาะตรงเงา)แต่ว่าก็แล้วแต่งานนะ ถ้าต้องการเรียบๆ อาจจะไม่ชอบ ต้องไปหาวิธีทำอย่างอื่น แต่ว่าสำหรับผม OK เพราะว่ามันทำให้เวลาเราเอารูปหน้าต่างลงในบทความ ในหนังสือ หรือว่าใน Web แล้วมันดู distinguishable มากขึ้นเยอะ

2D Dock กับ Leopard

ผมไม่ค่อยจะถูกชะตากับ new 3D Dock ของ Mac OS X 10.5 Leopard ตั้งแต่มันถูกประกาศแล้ว เพราะว่านอกจาก eye-candy แล้วไม่เห็นมันจะช่วยให้ usability มันดีขึ้นตรงไหน เผลอๆ จะทำให้แย่ลงด้วยซ้ำ เพราะว่ามันทำให้ Dock มัน high-profile ขึ้น มันมีความรู้สึก in-your-face มากขึ้น มัน visible มากขึ้น ซึ่งพวกนี้มักจะไม่ค่อยดีต่อ usability เท่าไหร่ (ในกรณีนี้)

จากข่าวล่าสุด สำหรับ build 9A581 (ที่น่าจะเป็น Gold-master) รู้สึกว่า Dock มันจะกลายเป็น 2D เมื่อวางไว้ด้านข้างของจอ (macrumors.com) ก็ลองเทียบกันดูกับ build เก่าๆ ที่ยังเป็น 3D อยู่แล้วกัน ว่ามันดูดีกว่ากันแค่ไหน




(ภาพจาก macrumors.com และ rogueamoeba.com ตามลำดับ)

ไม่พอ มีคนเจอ ว่าถ้าต้องการจะเอา 3D ออกแม้ว่าจะอยู่ข้างล่าง ก็ยังคงทำได้โดยอาศัย trick เก่าๆ บน Terminal แล้วก็พวก defaults write [option] ทั้งหลายแหล่ที่มีมาตั้งแต่โบราณ (สมัย NeXT โน่น)

defaults write com.apple.dock no-glass -boolean YES

จากนั้นก็ restart Dock ใหม่ (อาจจะ killall Dock ไปเลยก็ได้) แล้วก็จะได้ 2D Dock ที่ “เกือบ” เหมือนเดิม


(ภาพจาก lime.quickshareit.com)

ซึ่งจริงๆ แล้วก็ยัง high-profile อยู่ดี เทียบกับ Dock ตัวปัจจุบัน เพราะว่ามันยังมีขอบ มี texture มีอะไรมากเกินไป แต่ว่าก็ยังน่าจะดีกว่า 3D Dock ล่ะนะ