看板 DSLR 關於我們 聯絡資訊
作品連結: * 穩定前:https://youtu.be/71vtskpdcXA
* 穩定後:https://youtu.be/M4H9w8yh4Fg
拍攝時間:2020/6/21 拍攝地點:海口故事露營園區 使用相機:Nikon P950 濾鏡:Ice 67mm ND100000 - https://i.imgur.com/FRsYups.jpg
赤道儀:Sky-Watcher Star Adventurer - https://i.imgur.com/HyhZPv8.jpg
- https://i.imgur.com/kUtBhWJ.jpg
- https://i.imgur.com/UIrNOHN.jpg
- https://i.imgur.com/unEBClo.jpg
定時快門線:PIXEL TC252 三向齒輪雲台:Manfrotto MHXPRO-3WG EXIF資訊:曝光秒數 1/1000秒 光圈 F6.5 焦距 2000mm ISO速度 100 拍攝現場: * 攝影中:https://i.imgur.com/NHeoc5Y.jpg
* 拍攝現場 (360全景 8K縮時):https://youtu.be/Erfkf5JPJl0
* 現場機海 (360全景 16K):https://kuula.co/share/7bTy7 * 蚵田日落 (360全景 16K):https://kuula.co/share/7bTWs 出動相機: * 日環蝕縮時:Nikon P950 * 隨意拍:Nikon D7000 + Sigma 8-16 + Nikon 18-300 + Nikon 35 f1.8 * 8K全景錄影:Qoocam 8K * 16K全景攝影:Xphase Pro S 技巧解說及心得分享: 日環蝕拍攝共得 3868 張 DNG 原始檔,因種種因素每張的太陽都不在定點, 因過程調整赤道儀與腳架,月球進出的角度也不固定。如果直接硬疊起來就是 開頭穩定前的連結那樣。 試了好多方法,但是現有穩定化與自動對準軟體遇到這次日環蝕照片通通破功, 原因是背景是幾乎全黑的,背景沒有任何跨所有照片的固定細節可以讓軟體抓, 而前景太陽也因為日蝕的關係每張圖的太陽的形狀都不固定, 太陽本身也沒有高對比的固定細節可以抓 (除非用很貴的窄頻 Ha 濾鏡)。 要將所有照片穩定化可分為兩個工作: 1. 固定太陽的位置 (找出太陽的中心座標) 原始彩色圖 -> 灰階 -> 黑白(臨界值25) -> A 製作大小與太陽一樣大,寬度 50 的黑白遮罩 -> B 分別將 A 與 B 做傅立葉轉換後在頻域相乘後再將結果做逆傅立葉轉換即為捲積 -> C 取 C 圖中亮度最大的座標即為太陽中心座標 幾個例子計算結果:https://i.imgur.com/IufL1Lj.jpg
2. 固定月亮進出的角度 (找出月亮的中心座標) 將太陽置中後 -> 灰階 -> 黑白(Otsu演算法) -> A 製作大小與月亮一樣大的黑白圓盤遮罩 -> B 一樣用傅立葉轉換計算 A 與 B 的捲積 -> C 取 C 途中亮度最小,且最接近太陽中心的座標即為月亮中心座標 同樣幾個例子的計算結果:https://i.imgur.com/k94dy4B.jpg
程式中心偵測結果,紅圈為太陽,綠圈為月亮: https://i.imgur.com/NjU8i99.jpg
兩個關鍵座標找出來後,即可全部調整到同一個位置與角度: https://i.imgur.com/IOidzcU.jpg
== 程式下載 == 開放原始碼與英文使用說明: https://github.com/hotdogee/solar-eclipse-timelapse-aligner EXE下載: https://github.com/hotdogee/solar-eclipse-timelapse-aligner/releases/download/ v1.0/solar-eclipse-timelapse-aligner-v1.0-windows-x64.zip 縮:https://bit.ly/3eiVabp 範例輸入圖檔下載: https://drive.google.com/file/d/10VEHLhs8JEQbKvKjmRGHTbSi0DoADwVS/ 簡易中文使用說明: 1. 把JPG圖片複製到一個新的資料夾作為輸入資料夾 (例如 D:\jpg), 用自己的圖檔前建議先用以上範例輸入圖檔試跑看看。DNG圖請先輸出為JPG。 2. 挑一張太陽最完整的圖,給程式自動偵測太陽半徑使用 (例如 D:\jpg\DSCN3815.jpg) 指令:eclipse-aligner.exe --input=D:\jpg --sun=D:\jpg\DSCN3815.jpg 若沒有完整太陽的圖,或是自動偵測結果不夠精準,可以手動給半徑 (1210像素): 指令:eclipse-aligner.exe --input=D:\jpg --sun_radius=1210 3. 執行完成後會產生三個新資料夾與一個JSON檔。 jpg-output:太陽置中後的結果圖。 jpg-circled:原始圖加上偵測到的圈圈,用來判斷偵測結果好壞,與參數調整用。 jpg-sun-binary:黑白照片,如果太陽邊緣毛毛的或不夠清晰, 可以增減參數 --sun_threshold=25 預設為25,高於此灰階亮度為白色。 circles_data.json:包含偵測到的太陽座標資料。 4. 如果置中後,月亮的進入的角度也不夠穩,可以啟用角度修正功能 指令:eclipse-aligner.exe --input=D:\jpg --sun=D:\jpg\DSCN3815.jpg --fix_angle=17 --moon_radius_mod=-24 --fix_angle=17 會把角度修正為17度 --moon_radius_mod=-24 表示月亮半徑比太陽小24像素 -- ※ 文章網址: https://www.ptt.cc/bbs/DSLR/M.1593982188.A.842.html ※ 編輯: hotdogee (140.112.93.11 臺灣), 07/06/2020 04:53:00
seth5421: 頭推 07/06 05:00
※ 編輯: hotdogee (140.112.93.11 臺灣), 07/06/2020 05:09:50
antitank: 高手 07/06 07:16
changmada: 大神!作品真是完美 07/06 07:45
AzureSoul: 看到傅立葉轉換我就跪了 07/06 07:58
Lian949: 已跪 07/06 07:59
carl3104: 該快推不然網友以為我看不懂 07/06 08:46
zaqwer: 這裡不是DSLR板嗎?為什麼我都看不懂?! 07/06 08:52
lvlvlv2g: 傅立葉到底是誰啊啊啊啊啊啊啊啊(崩潰 07/06 08:55
carl3104: 樓上 我記得是某個風景攝影大師吧 07/06 09:16
soarling: 不囉嗦 看到FT就推 07/06 09:24
notsmall: 原來是影像處理大師啊 07/06 09:29
zebirlin: 太強 已跪 07/06 09:32
Rogozov: 看到攝影版出現傅立葉轉換真的是只能跪了 07/06 09:33
AnewMitch: 跪了 07/06 09:36
x81089130: 推 07/06 09:36
hchen18: 第一次在攝影版看不懂文章XDD 07/06 09:44
DaJoJo: 強 07/06 10:01
Wangdy: 快推不然別人因為我看不懂 07/06 10:20
shachitw: 太神啦 07/06 10:22
Jokering5566: 科學精神 給推 07/06 10:25
taleschia: 我媽問我為什麼大中午要跪柏油地面... 07/06 10:31
penguin0172: 想請問原po將兩張相片做convolution可以得到中心座標 07/06 10:32
penguin0172: 的原理是什麼?謝謝 07/06 10:32
meimeiamy: 我媽問我為什麼跪著看手機 07/06 10:39
eiki787: 傅立葉轉換 早就忘光光的東西 07/06 10:46
haze: 好強!!! 07/06 10:53
enderboy7652: 強 07/06 10:58
briantw: 推,這我跪了... 07/06 11:00
yen0619: 跪了 07/06 11:08
blessme: 下次有人說學數學沒用我就拿這篇打臉他 07/06 11:10
louis2333: 有沒有人支援一下白話文.. 07/06 11:11
XiaoSung: ?????先跪了 07/06 11:20
octboy1978: 不懂……快推 07/06 11:28
GohHiong: 我記得明明學過傅立葉可是看不懂這篇XD 真的太神了! 07/06 11:32
pupuliao: 我的理解是 因為每一張照片的中心點會有所偏差 07/06 11:33
pupuliao: 所以要透過找出太陽中心 重新調整每一張照片 07/06 11:34
cowboy17935: 看不懂 只好推了 07/06 11:34
kblover: 超神~ 07/06 11:34
pupuliao: 那這樣說天文台的設備應該可以抵銷這類誤差 07/06 11:35
SonyA7RIII: 您是神 07/06 11:38
st210113: 我以為走錯版了 原PO太強大啦 07/06 11:39
ceoper256: 22樓:把convolution想像成兩個函數的空間乘積的話 07/06 11:41
ceoper256: 就可以把捲積結果當成「遮罩與太陽輪廓重疊面積最大」 07/06 11:43
ceoper256: 的位置,因為是圓形所以這位置就是太陽圓心,大概吧 07/06 11:45
ceoper256: 低智商文組建構式理解勿嗆QQ 有請高手說明實際的計算 07/06 11:46
感謝幫忙說明,我也試試補充說明,以本文太陽版用法來說,請看文內附圖輔助, A 圖解析度為 4,608 x 3,456 = 15,925,248 像素,這是 P950 的解析度 16M。 B 圖(遮罩)解析度為 2,423 x 2,423,因為這是我拍到的太陽的大小。 A 與 B 圖皆為黑白,來想像捲積計算: * 對 A 圖內每一個像素做以下運算,有 15,925,248 個像素,所以要做 15,925,248 次: * 把 B 圖(遮罩)中心對齊疊在該 A 圖像素後, 計算 A,B 兩圖相疊的地方,顏色都是白色的像素位置有幾個。 因此可以想像當上述遮罩中心跑到 A 圖太陽中心時,A,B 兩圖都是白色的數量會最大化, 也可以想像當遮罩中心從太陽中心往上下左右任何一方向移動後, A,B 兩圖都是白色的數量都會下降, 所以取捲積結果內,數字最大的座標即為太陽中心座標。 由此可知本法要能正確找到太陽中心座標的關鍵在於遮罩的設計, 與太陽能否很乾淨地從背景分離出來, 遮罩的大小一定要剛好符合你所拍到的太陽的大小,遮罩太大或太小都會造成 捲積結果有多個座標都是最大值,而造成選擇困難的誤差。 如果太陽邊界不夠乾淨,例如有光暈,可能需要多嘗試幾個轉黑白的臨界值, 直到找到乾淨的黑白太陽邊界,程式才會準。 * 額外說明: 直接計算這個捲積共需要做: 4,608 x 3,456 x 2,423 x 2,423 = 93,496,000,315,392 個乘法與 幾乎一樣多個加法運算,如果簡單用一個時脈一個運算來看, 5GHz 的 CPU 也要花 93,496,000,315,392 / 5,000,000,000 = 18,699 秒 約 5.2 小時才算的完,而本篇每張圖都用了兩次捲積, 一張圖要花上半天是無法接受的。 但若使用傅立葉轉換法,只要 2~3 秒即可完成。 推 rinkai: 樓上土木巨巨大大大說自己文組那我們乾脆ryyyyyy 07/06 11:59
m18680768: 好猛! 07/06 12:40
john801110: 所以這個程式是大大自己設計的?能出下載版嗎XDD我極 07/06 12:42
john801110: 軸沒對準也是慢慢偏移 07/06 12:42
diablohinet: 超強...已跪 07/06 12:59
godchildtw: 還以為有EXE可以用了,2300多張手動一張一張調, 07/06 13:01
godchildtw: 剩下200張就調完了。 07/06 13:01
jeffc815731: 好強 最後幾乎是教科書級的照片 07/06 13:53
tom2541c2: 我媽叫我不要再跪著滑手機了 07/06 14:18
Epsilon: 強!要不要考慮釋出原始碼或可執行檔讓其他人下載? 07/06 15:50
andy3020: 學生時期沒搞懂過傅立葉........太猛 07/06 15:53
pirrysal: 太神啦! 07/06 16:01
erig25: autocorrelation? 07/06 16:23
rainxo6p: …是神 07/06 16:27
IslandHeart: 這可以寫論文了XD 07/06 16:57
windblood: 先跪在說... 07/06 17:07
leion237: 推推推,我日環蝕是手動追日五分鐘拍一張,再土法煉鋼用 07/06 17:23
leion237: PS圖層去對齊超花時間XD 原PO實在是實作高手 07/06 17:24
看來也有幾位版友有類似的需求,我正在整理一個比較能看的版本並會釋出原始碼, 目前的狀況是參數是寫死在程式內,我覺得至少還需要再寫一個文字介面, 也要寫一下使用說明,並打包成 EXE 給沒有安裝過 Python 執行環境的人使用, 這些工作還需要花一點時間,如果沒有花太久會直接更新在本篇~
janghow: 太強大了 07/06 17:30
Kln: 跪得我膝蓋好痛 07/06 17:55
HsuHsiangYun: 看不懂XDD 07/06 18:14
newsbow: 跪 07/06 18:53
SDGGF: 這光看懂就夠我頭昏,佩服大大的實作精神 07/06 19:35
Chdolodocha: 看不懂 跪 07/06 19:38
mjrt: 你的海堤全景照片竟然錄到我在收東西… 07/06 19:42
robin80829: 太猛了!推 07/06 20:02
※ 編輯: hotdogee (140.112.93.11 臺灣), 07/06/2020 20:22:52
ray6031515: 讚 完全看不懂哈哈哈 07/06 20:39
※ 編輯: hotdogee (140.112.93.11 臺灣), 07/06/2020 21:20:15
bluefancy: 道具太專業 07/06 21:32
ferrinatice: 我以前學傅立葉只會時域轉頻域,看不懂為何這樣可以 07/06 21:53
ferrinatice: 降低運算量耶,是否能補充說明 07/06 21:53
如果輸入影像大小為為 M x N,遮罩大小為 m x n 直接計算捲積的計算複雜度為 O(MNmn) 傅立葉法的計算複雜度為 O(MNlog(MN)) 主因在於時域下的捲積等於頻域下的相乘;頻域下的捲積等於時域下的相乘這個理論。 如果有夠快的傅立葉算法,頻域下只要處理 MN 個複數乘法, 相較於時域下 MNmn 個實數乘法。 配合 FFT (Fast Fourier transform) 演算法的發明, 讓離散傅立葉轉換的計算複雜度得以接近理論最小值 O(NlogN)。 實務上當你的輸入與遮罩大小比較小時,例如教科書上常見的 3x3 或 5x5 時, 用傅立葉法反而會比較慢。
hotdogee: 其實是道具、經驗、技術都不足,只會靠後製qq 07/06 21:56
Kln: 原po的解釋很清楚,很清楚地讓我明白,我真的完全聽不懂XDDD 07/06 22:53
※ 編輯: hotdogee (140.112.93.11 臺灣), 07/06/2020 23:19:29
mikechang: 推! 07/06 23:21
chen841115: 跪了 07/06 23:32
ahaw99: 對不起 我沒有資格拿相機 07/06 23:46
※ 編輯: hotdogee (140.112.93.11 臺灣), 07/06/2020 23:49:31
cutebowbe: 我以為我走錯版了 路過抱歉 07/07 01:24
cutebowbe: 第一次逛完DSLR版不是去google設備規格,而是去google 07/07 01:25
cutebowbe: 數學名詞XDDD 07/07 01:25
alan773421: 誰說數學沒用 07/07 10:16
pupuliao: 研究所做影像分析的路過 好強 我只看懂 最前面的方法 07/07 11:23
pupuliao: 傅立葉轉換我不會 不過 第一種方法 實際運算量不會那麼 07/07 11:23
pupuliao: 大 因為 每次運算實際上 只有B框的 最外一圈會改變 07/07 11:25
pupuliao: 痾 好像不太對 算了XD 畢業太久了 07/07 11:26
kblover: 工數有教啦 簡單講就是透過時頻轉換後結果相同 07/07 11:57
kblover: 但是在頻域做速度快 做完再把結果轉回時域 07/07 11:58
kblover: 不過好像不是每個系所都有教到這段XD 07/07 11:58
kblover: 我自己要不是看這段也都忘得差不多了XDDD 07/07 11:58
kblover: 我沒記錯的話是這樣啦 記錯就...請幫補充 07/07 11:59
ttamura: 推 傅立葉轉換也能用在影像鑑識領域! 07/07 21:09
DrFuck: 不明覺厲.......。 07/07 21:19
wbenjin: 我覺得你直接在空間域convolution會比較快,畢竟pixel沒 07/07 23:38
wbenjin: 很多 07/07 23:38
wbenjin: 喔你的kernel很大,那應該是轉到頻域比較快,沒事 07/07 23:39
canandmap: 強 07/08 00:52
molk: 哇嗚… 07/08 10:43
rgbff: 同事問我為什麼跪著看PTT,還有傅先生是誰 07/08 12:57
runJ13: 推,最後一張好像我以前色彩學的作業 07/08 21:39
crayon3shawn: 推推 雖然看不懂 07/10 13:55
已於文末補上程式下載位址與簡易使用說明囉,如果使用上有問題歡迎提問~ ※ 編輯: hotdogee (140.112.93.11 臺灣), 07/11/2020 01:03:16 ※ 編輯: hotdogee (140.112.93.11 臺灣), 07/11/2020 03:26:25
capri75: 推 雖然完全看不懂 Orz 08/04 19:32
LzHH: 先跪 08/06 10:37