• Make首頁
  • 關於MAKE
  • MAKE文章
  • MAKE商店
    • 本月推薦
    • MAKE 雜誌
    • MAKE 書籍
    • 套件/控制板
  • Maker Faire
  • Makerspace
    • 如何打造Makerspace
  • 投稿專區
Make 國際中文版 > DIY Projects, Inspiration, How-tos, Hacks, Mods & More @ Makezine.com.tw - Tweak Technology to Your Will

用Arduino打造RTI超精細微距攝影裝置

6/2/2017

 
圖片
RTIViewer軟體下的鸚鵡螺化石特寫。不同色彩代表表面上特定一點的特定方向。
本文將為你介紹如何使用Arduino微處理器和3D印表機,完成簡單的反射轉換成像(RTI)。
有時候光憑一張照片,很難充分記錄或呈現物體的重要細節,但只要透過RTI攝影技術,研究者就能夠強調物體的形貌、質地和色彩。RTI攝影系統有別於單向攝影,透過不同的打光角度,能呈現同一個物體或人工製品的系列影像,強調隱而未顯的細節。
對科學家和文物保存者來說,RTI技術是重要的工具,可以針對重要的歷史美術收藏品進行研究和保護。RTI系統也被應用於鑑識科學領域,以照片記錄分析子彈和彈痕。此外,RTI也適合拍攝和分析陶器的碎片,以及古代人類的小型工具和石雕藝品等。RTI的應用範圍無可限量,為許多領域的研究者提供關鍵的視覺證據。
動植物的化石也是RTI成像技術的理想拍攝對象,畢竟古化石大多有複雜的形狀、重複的圖案及特殊的表面質地,尤其是鸚鵡螺化石,屬於有稜紋的螺旋狀貝殼。鸚鵡螺是一種軟體動物,曾經在大海自由游動,跟恐龍生存的時期差不多。
PARTS
  • 打光罩,你可以直接用簡易的相機照明圓頂,也可以自己列印一個
  • LED(50), 如果你直接買現成的相機照明圓頂,那就買10mm的燈泡,如果你自己列印的話,就換成5mm燈泡
  • LED陣列,Adafruit 16x8 LED Matrix Driver Backpack(HT16K33 Breakout)
  • Arduino Uno
  • 磁簧開關

建構RTI系統

RTI屬於計算攝影學,會從不同位置的固定光源收集40~100張影像。只要軟體能推斷光源的位置,最終影像就能產生物體表面的數學3D圖。
軟體會從這些影像計算表面的法向量(normal vector),進而誇大表面特徵,呈現精細的細節。RTI技術仰賴從固定位置的不同光源拍攝數張影像成像。
本文會介紹幾種簡單的裝置,協助你自動收集參考影像。RTIViewer軟體是由圖像文化遺產(CHI)主持,經數位研究人員開發出來的軟體,鼓勵攝影師、研究者等相關人員認識這項技術。RTI影像的建立和瀏覽,是由文化遺產研究所的RTIBuilder軟體完成,最終得到的RTI檔案則須用RTIViewer軟體觀看。
圖片
 RTI影像組需要大約50個光源,平均分布於半圓打光罩上。
一個現成的半圓蓋就可以做成一個簡單的打光罩。為了阻絕室內光,我會將打光罩內部漆成黑色,由下而上,均勻地在每列鑽出4個洞,亦即每一行有12個洞,總數約50個洞。每個洞都要編號,以便鋪設電線。頂部的大圓洞專為攝影機而設,以Dremel Drill削鑽,可輕鬆移除多餘的塑膠部分,產生平滑的切面。
我採用10mm白色大LED,電壓為80mA,由微處理器的5V DC電源提供綽綽有餘。為了控制每顆LED,我採用Adafruit Industries的LED光陣列,可減少所需的控制線數量。
圖片
電路圖很簡單,但鋪設起來很耗時,大約要花12小時切割和焊接所有接觸面,這是因為鐵氟龍線難以剝線,會拖慢作業速度。未來的系統會再由適合製作電路原型的繞線工具組裝。
圖片
這個程式的概念也相對簡單,先打開一個燈,啟動相機快門,接著熄燈,其餘的燈則重複相同的步驟。LED亮燈的時間會直接用軟體設定。這個原型專為105mm微距鏡頭和Canon 5D Mark III DSLR機身打造,為了將影像維持在低ISO和合適的景深,打光必須設定為5秒鐘,整套影像會在4分鐘左右完成。
曝光值可針對拍攝對象進行調整,有需要的話可以調高一些。如果要收集大量的RTI影像,LED的發光時間可以比曝光時間長一些。為了確保可重復性和曝光效率,LED的發光時間最好涵蓋整個快門曝光過程。

電路圖

由於Arduino微處理器沒有50個輸出端,所以需要借助LED照明陣列來控制50個LED。微處理器會與LED陣列驅動板溝通,我在這個專題採用Adafruit 16x8 LED Matrix Driver Backpack(HT16K33 Breakout)來控制LED陣列。HT16K33 Breakout售價約為8美元,通訊協定為I2C,只用2個腳位,8個矩陣可能有高達8個可選擇的I2C位址,每個矩陣控制16x8的LED,無論是矩陣驅動器或微處理器,都可以在Adafruit Industries購買。
圖片
這塊板子專為Arduino Uno微處理器和LED陣列而設計。我將每顆LED的長電線集中到陣列控制器後,發現了一個更簡便的方法,也就是先在接地端集中每一排的LED,接著再回到陣列控制器,這可以簡化鋪設電線的工作,只是電路看起來會比較複雜。這組電線即是原型打光罩上的藍色電線。
攝影機是透過微處理器的12個腳位控制,當腳位達到5 Vdc,磁簧開關便會啟動攝影機。這裡使用磁簧開關是要避免微處理器電壓干擾到攝影機的開關,確保攝影機不會受暴露在危險的電壓範圍。磁簧開關很容易佈線,價格也不貴。我在此並未介紹攝影機觸發系統的電路圖,因為它們都不相同。

建立RTI檔案

最後獲得的影像組要轉為JPG影像格式,並透過RTIBuilder軟體運作。這套軟體可免費使用,也可以從文化遺產成像網站下載操作手冊的PDF檔。為了瀏覽最終的檔案,我們會用RTIViewer程式,這套程式也可在文化遺產成像網站免費下載使用。
圖片

3D打光罩

製作打光罩可能會面臨幾個問題。為了簡化整套流程讓更多研究者完成這項設計,我設計了一款可以用3D印表機製作的3D打光罩。大多數3D印表機的平臺面積有限,因此這個打光罩是專為微距攝影而設計。每個洞大約可放置5mm的LED,洞口直徑可視印表機的尺寸調整。這些洞可以被視為定位孔,再鑽成自訂的直徑。打光罩也有許多額外的洞,未來可以再裝上不同波長的LED。
圖片

RTI LED打光罩的程式碼

// long lead on LED goes in A0-A15 holes.
#include
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"
Adafruit_8x16matrix matrix = Adafruit_8x16matrix();
#define BUSY_LED 13 // Board IO pin of Arduino ORANGE LED
#define CAMERA_CTL 12 // Board pin controlling the Camera Trigger
// active low.
#define LED_COUNT 50 // number of LEDs to sequence through
void setup() {
Serial.begin(9600);
Serial.println("RTI multi-spectral camera");
matrix.begin(0x70); // pass in the I2C address
matrix.clear(); // clear all lights
matrix.writeDisplay();
// set the digital pin as output:
pinMode(CAMERA_CTL, OUTPUT);
digitalWrite(CAMERA_CTL, HIGH); // active low
// set up Arduino LED as output
pinMode(BUSY_LED, OUTPUT);
digitalWrite(CAMERA_CTL, HIGH); // active low
}
/* array indexes - insert LED with long lead on A line.
15 A15 * * * * * * * *
14 A14 * * * * * * * *
. * * * * * * * *
. * * * * * * * *
. * * * * * * * *
1 A1 * * * * * * * *
0 A0 * * * * * * * *
Y= C7 C6 C5 C4 C3 C2 C1 C0
X= 0 1 2 3 4 5 6 7
*/
void loop() {
int x,y,count=0;
for(x=0;x<8;x++) // x's are the C lines
for(y=0;y<11;y++) // y's are the A lines { // toggle BUSY LED digitalWrite(BUSY_LED, HIGH); // ON // turn on one LED matrix.drawPixel(x, y, LED_ON); matrix.writeDisplay(); // write the changes we just made to the display delay(6000); // this delay determines the length the led is on // trigger the camera digitalWrite(CAMERA_CTL, LOW); // active low delay(50); digitalWrite(CAMERA_CTL, HIGH); // active low delay(50); // turn off the only LED on matrix.drawPixel(x, y, LED_OFF); matrix.writeDisplay(); // write the changes we just made to the display // delay while image stored on camera? delay(1000); // toggle BUSY LED digitalWrite(BUSY_LED, LOW); // OFF delay(100); // so we can see the OFF state // test for end of light count count++; if( count >= LED_COUNT) goto DONE;
}
DONE:
Serial.println("Camera sequence complete");
while(1); // infinite loop- stop here
}

結論

 RTI系統可以讓你輕鬆收集RTI影像,希望你會喜歡。我想感謝Andy Kinsman協助設計3D打光罩的檔案。
下載3D半圓頂
下載Arduino Uno程式
(譯:謝明珊)
[原文]
【延伸閱讀】
用偏振光捕捉神奇的色彩效果
打造一臺可將太陽系盡收眼底的3D列印Raspberry Pi望遠鏡
20個讓你看不膩的「無限鏡」專題
古代遺技:極致鏡面馬賽克
用Arduino進行高速水滴攝影

評論已關閉。
    图片
    Vol. 33:跟著社群玩自造
    訂閱電子報

    文章分類

    全部
    3D Printing
    Arduino
    Art
    AR/VR
    Biohacking
    Books
    CNC
    Dev Boards
    DIY Projects
    Drones
    Education
    Electronics
    Kickstarter
    Lego
    Maker
    Maker Faire
    Makerspace
    MathMonday
    Others
    Raspberry Pi
    Robot
    Skill Builders
    Tools
    Toys
    Woodworking
    活動訊息
    活動訊息

    Make Blog

    精選國內外各類文章,每日掌握最新Maker趨勢!

    更正資訊

    RSS 訂閱

    時間排列

    四月 2018
    三月 2018
    二月 2018
    一月 2018
    十二月 2017
    十一月 2017
    十月 2017
    九月 2017
    八月 2017
    七月 2017
    六月 2017
    五月 2017
    四月 2017
    三月 2017
    二月 2017
    一月 2017
    十二月 2016
    十一月 2016
    十月 2016
    九月 2016
    八月 2016
    七月 2016
    六月 2016
    五月 2016
    四月 2016
    三月 2016
    二月 2016
    一月 2016
    十二月 2015
    十一月 2015
    十月 2015
    九月 2015
    八月 2015
    七月 2015
    六月 2015
    五月 2015
    四月 2015
    三月 2015
    二月 2015
    一月 2015
    十二月 2014
    十一月 2014
    十月 2014
    九月 2014
    八月 2014
    七月 2014
    六月 2014
    五月 2014
    四月 2014
    三月 2014
    二月 2014
    一月 2014
    十二月 2013
    十一月 2013
    十月 2013
    九月 2013
    八月 2013
    七月 2013
    六月 2013
    五月 2013
    四月 2013
    三月 2013
    二月 2013
    一月 2013

聯絡我們
This website is developed and published by Taitien Electric Company under license from Maker Media, Inc., United States of America. Content originally published in Make: Magazine and/or on www.makezine.com, ©Maker Media, Inc. 2014. Published under license from Maker Media, Inc. All rights reserved. The ‘Make:’and ‘Maker Faire’ trademarks are owned by Maker Media, Inc.

Maker Faire Taipei 為經 Maker Media Inc. 授權可於當地獨立組織並運作之活動。
本網站之內容由 泰電電業股份有限公司 提供,未經本站同意,請勿擅用文字及圖案。廣告業務,請來信聯絡。 
Copyright © 2011 - 2015 Tai Tien Electric CO., LTD. All Rights Reserved.
✕