2021年6月1日 星期二

用相機當掃描器 v2


接續前篇 用相機當掃描器, 本實驗室更新了軟硬體設備
和前篇一樣, 是紙本直立壓在玻璃上, 後方打光的策略, 基本精神和燈光設備配置沒變
只是升級為角鋼架更加穩固, 然後軟體方面加上變形矯正, 用 ubuntu 內建的 ImageMagick 轉換
這原先只是個短程計畫, 結果試了各種想法, 做到變長程計畫, 最後還是原來的方案最好
先描述這設備的配置以及設定方法, 然後再紀錄闖入的一堆死胡同

角鋼架採用訂製消光黑版本, 減少反射到玻璃上的機會
如果你的角鋼架用超大, 那麼就算不是消光黑也沒差, 反正它永遠不會出現在畫面上
但這代價是佔空間, 而且越大的角鋼架就越重, 安裝拆解就越困難
我的策略是配置到越小越好, 一點點進到畫面中沒關係, 所以用消光黑版
角鋼尺寸取決於鏡頭視角以及原稿大小, 原稿越大架子肯定要越大
而鏡頭視角則是越大的橫向就要越寬, 越小的縱向要越長, 如下圖

上圖左為長焦鏡頭, 上圖右為廣角鏡頭, 紅色為角鋼架, 黃色為放原稿的玻璃
淺藍色是相機接收影像的視角範圍, 深藍色是反射區域, 若有物體在此區內會因玻璃反射而出現在畫面上
廣角鏡視角大, 不需要離原稿太遠就能全部涵蓋, 但玻璃本身就會反射四周景物, 反射時入射角等於反射角
於是四周的景物就很容易出現在反光上, 因此要拉寬角鋼架以免架子出現在畫面上
而望遠鏡視角小, 四周景物比較不會出現在畫面上, 但是因為視角小要拉很長距離才可以覆蓋原稿
因此角鋼架尺寸選擇需要量測才知, 以我的目前設定, 我選 40mm 鏡頭配上全幅的 A7, 原稿為 A4
角鋼架可選 1.5 尺 (約 45 公分) x 1.5 尺 x 53 公分
若是 40mm 配上 A6000, 由於 APSC 感測器面積較小畫面裁切, 等同視角縮小
角鋼架需改為 1.5 尺 x 2 尺 x 53 公分
上圖是從相機上方往下看的投射, 是水平方向的投射, 垂直方向也是如此
相機橫放時水平視角會比垂直的大, 至少現在的相機大多是寬畫面的
因此正常情況角鋼架應該也是要寬的, 我選的 53 公分高角鋼主要迴避垂直方向
水平方向不迴避, 因此需用消光黑版角鋼來隱藏, 但照片裡仍有四條角鋼橫桿不是黑色
由於那四根所在區域絕對看不到, 因此選用別種規格角鋼, 主要目的是減輕重量

相機方面視預算及需求而定, 索索的 APSC 機種目前 24MP 就沒再增加了, 就是 6000x4000
某牙膏廠有 32MP 的 APSC, 但我看過網上影像...暗處有噪點, 這不行
所以 APSC 就是 24MP, 處理 600dpi 影像最多就只能掃 CD 的紙本
再上去就要多張拼接, 或是降 dpi, 如果要更高解析度只能寄望於全幅機, 代價就是錢XD
APSC 若選最便宜的 α5100 只要一萬就有, 配上 Canon 40mm f/2.8 STM 加轉接環也差不多一萬
總價兩萬可以搞定, 若拿水貨或二手品價錢可以更殺
而全幅就很可怕了, 一代 A7 就要 28980 元, 由於鏡頭要求較高, 需配新出的 40mm 全幅鏡
FE 40mm F2.5 G (SEL40F25G) 公司貨 18980 元, 兩項加起來直逼五萬, 而且也是 24MP
但由於視角變寬, 角鋼架可以減少 15cm 距離 (這 15cm 值兩萬多XD)
所以我想用戶應該很清楚知道怎麼選XD
如果要上全幅, 一定不會是配一代 A7, 但如果未來要升級高解析度, 鏡頭可以先升 SEL40F25G
至於機身要升到哪就看需求和預算了, 而我這次還是會用一代 A7 配 SEL40F25G 這超不划算組合
原因手邊已有 A7, 在升級機身前先看 SEL40F25G 這鏡頭體質如何, 因為做掃描器使畫質要求很高
如果一次買進 SEL40F25G 和 A7R 結果發現不行那我就虧大了, 所以先用 A7 看看有沒有問題
目前看測試結果是可以的, 最邊角畫質依然不行, 但只有一小塊, 可用範圍依然足夠划算

相機完成後接著和角鋼架組合, 這裡需要大量的手工製作零件
相機要能前後左右移動, 最簡單的方式是鋁條配發泡板

利用角鋼架邊框當軌道做前後移動, 架上鋁條提供左右移動, 左右移動為選配, 方便微調而已
左右可以不用動定死在中間, 但前後移動必須要能動, 這用來改變 dpi
底座高度由視角決定, 正常應該要可以上下移動, 但我覺得上下移動太難做
而且設計不好還容易晃, 所以相機我不做上下移動, 而是改讓原稿去上下移動
原稿玻璃兩側設置簡易升降台

鋁條連接兩升降台構成原稿架

這樣一來相機對焦完成就不要動了, 讓原稿去動就好
這原稿架是可以拆卸的, 用於大張海報拼接掃描時可移除不會卡紙
玻璃用 3mm 一般玻璃即可, 不要用強化玻璃, 強化玻璃雖然堅固但硬度較低, 表面容易刮花
我們這是要透過影像的, 而且還要原稿壓上去摩擦, 硬度高的比較不會有刮痕影響畫面
這種平板玻璃找玻璃工廠訂製即可, 我這片只花了 50 元不含運, 運費會比玻璃本體貴XD
訂做後用鋁片和鋁條即可固定到角鋼架上


原稿架和相機都完成了, 接著是燈光, 燈光我選用兩隻 8W T5 三波長燈管
三波長燈管看起來比較白, 而一般燈管則偏綠, 價錢沒有差多少
所以不用考慮, 就選三波長燈管, 除非你願意花時間調白平衡, 或是補充台灣價值(?)才用一般燈管
這類螢光燈管工作需要溫度, 溫度低時會比較暗, 因此使用時開燈後等個 5~10 分鐘才開始拍攝
LED 燈管沒有這問題, 但由於是多顆組成, 擔心會有顏色差異, 同時單顆損壞的話也會有麻煩
我個人是偏好螢光燈管, 但我認為 LED 燈管應該也能用, 若要用建議選用有散光罩的
也就是點亮後看到是一條的而不是有一顆一顆燈珠的, 尤其不要用燈條, 用燈條遇到反光稿會變這樣:

有大日本帝國的感覺XD
燈光配置後加上黑布蓋掉背景反射, 覆蓋範圍就是鏡頭視角和反射角的範圍

兩側黃點代表燈光, 黑色虛線是黑布覆蓋區, 光源不可出現在深藍色範圍內, 否則就會在玻璃上現形
黑布覆蓋範圍除了讓反射區全黑外, 還要防止反射區內物體被照射到, 如下圖

雖然上圖反射區已淨空, 但是光線照到黑布上, 這仍然會讓黑布出現在畫面上
畢竟我們能買到的黑布不是 100% 全吸收的, 有那種全消光塗料但那東西超貴, 一般用戶不會買
而且我們只要加大黑布範圍就能輕易解決這問題, 完全不需要砸錢做全消光, 擋住即可
實際安裝結果:

如上圖, 黑布覆蓋所有反射範圍, 這樣原稿上就不會有鬼影
而光線照明則要配置在反射範圍外的區域才不會出現在畫面上, 但又要能照到原稿
所以廣角鏡不推薦使用, 因為視角太大會讓光源配置困難, 加上角鋼也會擋住一部分光線
廣角鏡會讓光源可配置空間縮小, 容易出錯

到這裡整個設備就完成了, 接著是選配設備, 沒有也能用, 但若有會很方便, 那就是小型 HDMI 螢幕
索索的單眼可以 HDMI 輸出, 接個螢幕上去可以看原稿有沒有放到範圍內


市面上有許多小型 HDMI 顯示器可買, 消費型產品可搜尋 "筆記型螢幕" 或 "攜帶 螢幕"
具基本 DIY 能力用戶可以搜尋 "hdmi 螢幕套件", 一套包含面板和已燒錄參數的轉換器模組的套件
而專業的嵌入式開發人員可參考 在 ubuntu 上燒錄 RTD2660 韌體, 專業用, 一般用戶請迴避XD

上圖壓住原稿的是平台掃描器拆下的蓋子 (印 HP 商標的那個), 這個真的好用, 而且我想不到如何替代它
要找到這麼平又輕的板子不容易, 如果真找不到, 就買台壞的掃描器來拆吧XD

原稿放好以後按快門, 若直接按相機要繞到後面很麻煩
加個前篇 自製 SONY NEX / Alpha 系列相機遙控器 做的遙控器就可以輕鬆觸發

由於這角鋼框架較高, 通常是站著操作, 上方放個桌板可以堆置原稿, 同時擋住燈管光線保護眼睛


燈管下方懸空久了可能會變形, 如果是定點安裝不移動的用戶找個東西支撐一下較穩固
原先做懸空安裝的目的是防止偏移, 因為壓上原稿時會出力, 可能不小心會移動角鋼架
若燈光位置改了就要重新矯正, 若和角鋼架固定在一起, 移動到鋼架時燈光會跟著動, 不用重矯正

接著是設備維護部份, 需要常關注的是玻璃, 原稿上難免有髒污, 拍個幾張後最好檢查一下有沒有沾污
玻璃清理用清理鏡頭用的清潔液, 沒錯, 就是要用這麼高檔的, 我用這個:

第一次買時原價買 400 元, 很小瓶沒多少, 不過這清潔能力真的不錯, 而且放很久了依然有效
這液體的壽命很長, 我以前用過台製的, 號稱含醫療級凝膠, 它是膠狀的, 結果放了幾年產生沈澱物...
由於知道這貨好, 正好看到店家庫存出清, 丟店門口買一送一, 平均一件只要 50 元! 爆買!XD

爽!XD 這真的是庫存太久了, 可以注意到上圖中有一瓶蓋子上有條線, 那是裂開了
塑膠放到裂開就是真的庫存相當久的了, 液體還蒸發一點走了, 不過只要 50 元就別計較了, 反正能用就好
玻璃用水洗會有水痕, 一般書本稿件看不出問題, 遇到深色稿和反光稿, 那些水痕就會清晰可見, 非常頭痛
用衛生紙擦會留下粉屑, 高解析度相機一拍一樣清晰可見, 所以還要用拭鏡紙配吹風球
就和清潔鏡頭一樣, 所以要用一樣高級的清潔品
玻璃出廠時也可能會帶髒污, 有些還擦不掉, 我買的玻璃就有, 雖然一片只要 50 元
可以買一堆回來挑, 但要是運氣不好都有怎麼辦? 所以還是要面對
像這樣:

只有兩個黑刮痕, 投影到紙上變四個, 檢視照片時才發現, 整批檔案刪除重拍, fffffuuuu
去五金行問玻璃拋光, 說要用打磨機, 一隻一兩千, 我問有沒有手動的, 老闆拿了一千號砂紙要我試試

看起來很蠢, 可是......剪一小塊砂紙試了一下還真行啊XD 想說加個青棒看會不會刮痕少些
結果加下去磨不掉, 太細, 所以還是用砂紙部份, 輕輕磨仍會留下刮痕沒錯, 但很細看不出來
而且髒污也確實磨掉了, 但我相信大範圍的髒污應該還是不行, 只適合處理新玻璃上的小髒污



以上就是硬體部份, 接著是軟體, 軟體要兩次處理, 第一次是亮度調整, 請參考前篇 用相機當掃描器
那部份算法沒變, 一樣是要拍一張白紙, 然後每張圖去算, 算完後得到亮度調整過的圖檔
接著這些圖檔要進行變形矯正, 用 ubuntu 內建 ImageMagick, 指令是 convert
這軟體可以說是命令提示版的 gimp, 雖然源碼不同但運算精神相同
例如影像旋轉, 在教科書上就是矩陣運算, 考試還會考, 是線性代數的題目
沒錯, 現實的影像處理軟體也確實是那樣算, 但是多了兩個步驟
首先, 影像座標都是整數, 但是算出來旋轉後的座標不是整數, 因此要把資料改用浮點數去存
浮點數座標算完, 像素可能 (應該說一定會) 不落在整數座標位置上
那麼就要進行取樣, 把這些浮點數座標的顏色計算後重新填到整數座標的圖片上
以前有些命令列的批次轉換軟體這方面做不好, 常常產出鋸齒, 而這套軟體不會
它完全依照影像處理軟體的規格去做, 而且同一功能還有一堆算法可以選, 非常強大, 非常難用XD
這軟體就和影像處理軟體一樣, 接受命令照辦, 它不會告訴你 "該怎麼辦"
我花了時間幹了一下前篇提的 Lensfun 那套矯正軟體, 它是一套矯正軟體
比對影像的 Exif 然後從資料庫裡挑出矯正資料進行影像矯正, 一樣是接受命令照辦
沒有提供界面計算矯正數據, 而且矯正資料庫裡的資料仍然是人工產出的, 這非常困難
所以我這方案最困難的就是這裡了, 用戶會需要人體感覺摸出矯正數據XD 用摸的!一點一點督!
Lensfun 有文件提到矯正有三種失真是目前用電腦可以完美矯正的, 分別是亮度, 形變, 和色散
亮度矯正我們前篇方案做掉了, 雖然和真正相機上的算法不同, 但因為我們是針對原稿上的環境光
而不像鏡頭矯正是針對通過鏡頭的光線分佈進行修正, 所以我們是三角形取樣而不是圓型取樣
色散矯正我沒有找到文章說如何計算這矯正, 也可能有但我看不懂XD
因為色散會產出顏色重疊, 這我覺得是破壞性的變形, 能矯正嗎? 目前我還不知道
形變則是鏡片造成的影像變形, 相機用鏡片通常是圓形的 (因此這方法不適用於眼鏡)
所以可以用一元多項式函數去計算, 以鏡片中心為準, 離圓心距離 r 為變數, 因為鏡片圓形
假設上下左右全都對稱, 因此 r 位置的像素經過一個 r 的一元多項式計算後放到新的 R 位置

R = ( a * r^3 + b * r^2 + c * r + d ) * r

這多項式函數的係數 a, b, c, d 就是我們的矯正參數, 完整介紹文章在此:

ImageMagick v6 Examples -- Lens Correction

這裡注意總共參數應該是 6 個, 後面兩個 x, y 是選配
鏡片圓形就有圓心, 如果 x, y 不輸入, 那就是假設圓心在圖片正中間
如果拿相機對著網格圖形拍照, 網格可以是網格紙或是磚牆, 觀察成像如下圖:

原本方正的網格, 經過鏡頭的變形失真後可以有如上圖幾種結果, 稱作 "畸變"
1 是膨脹型, 又稱桶形畸變, 廣角鏡頭常見此失真
2 是收縮型, 又稱枕形畸變, 長焦鏡頭常見此失真
3 混合 1 和 2, 使用非球面鏡的鏡頭有看過, 但不是所有用非球面鏡的都會這樣
像 Canon EF 40mm f2.8 就有使用非球面鏡, 但畫面失真就只是 1 那種膨脹型
接著以 1 桶形畸變為例, 若鏡頭中心剛好在畫面中心, 即是上圖 4 的狀況
如果鏡頭中心不在畫面中心, 而在畫面上方, 就會呈現 5 的狀況
反之, 若鏡頭中心在下方, 則是 6 的狀況, 其實就是裁切的感覺
調整參數時, 抬頭觀察, 由左至右, 由近而遠, 反覆觀察! (出自單兵基本戰鬥教練XD)
若是上圖 1, 可以試著把參數 a 帶入負數嘗試, 例如 -0.001
若是上圖 2, 可以試著把參數 a 帶入正數嘗試, 例如 0.001
若是上圖 3, 抱歉我不會!XD 前面說明公式的文章有提到可行的算法是算兩次
也就是一正一負的兩個一元多項式, 算完正的產出的圖再給負的算一次
解一個多項式我就要花一天, 仔細思考慢慢改, 加到兩個多項式我根本解不出
直接拿任意數據嘗試一下, 我感覺 a 比較容易影響外圍, b 則是中間, c 則是靠近圓心
我數學不好, 不會解釋只會嘗試, 靠的是精密人體感覺XD
數學好的用戶可以嘗試挑戰非球面鏡, 有心得的話留個言幫忙一下, 先謝謝了XD
若是上圖 5, 可以試著把參數 y 帶入比圖中心 y 座標小的數
例如畫面高 4000, 中間點即是 2000, 就代入 1000 試試
若是上圖 6, 可以試著把參數 y 帶入比圖中心 y 座標大的數
例如畫面高 4000, 中間點即是 2000, 就代入 3000 試試
上圖 5,6 中心偏移, 但偏移的原因不一定是平移, 也可能是傾斜安裝, 我個人比較相信是後者
因為我試出來的數值離圓心非常遠, 我不認為我鏡組偏移這麼多
當然, 我也懷疑是我數學不好歪打正著XD
這不是解方程組, 可能沒有唯一解, 只要能正確矯正, 管他打歪到哪XD

這個矯正數據有些時候是可以重複使用的, 目前實驗結果是依鏡頭而異
鏡頭和機身組裝誤差可能也有影響, 這個目前我還沒有研究出規則
在 A6000 配 EF 40mm f2.8 STM 時我是一組參數用到底, 都可以正確矯正
不管是靠近提高 dpi 拍攝, 還是拉遠降低 dpi, 還是包含投影變形, 都是同一組
但是升到 A7 時發現 y 軸偏差, 但好像同一組還是可以一直用, 不過樣本數也不多就是了
可是 A7R2 時就有些怪現象了, 不是很確定發生什麼事, 那就是 A7R2 時
有些時候拍出來 "可以不用經過畸變矯正", 只修正投影變形即可, 這蠻奇怪的
後面附上測試圖檔, 有需要矯正的 A7R2 樣本, 也確實矯正了, 可是也有不須矯正的樣本
這台機器我還沒有很深入把玩, 以後可能會再修正, 到時再 "校正回歸" 一下
(新聞留言:校正我聽過, 回歸我也聽過, 校正回歸是什麼鬼?)
(本子留言:OK蹦我看過, 馬賽克我也看過, OK蹦上打馬賽克我還真沒看過)

在 Lensfun 中同一個鏡頭若是變焦鏡會有好幾組數據, 不同焦距的數據都不同
以我的 SONY 16-50mm kit 鏡來說, 廣角段會是桶形畸變, 若轉動變焦環
焦距越來越長時, 會慢慢變成枕形畸變, 差不多在 28mm 附近畫面變形最少
定焦鏡焦距不會改變, 對焦時通常是整個鏡組一起前後移動, 鏡片間位置固定, 畸變應不變
EF 40mm f2.8 STM 就是這種鏡, 轉動對焦環時鏡組會前後移動, 而且畸變特徵也確實固定
曾聽過一種叫內對焦 (Internal Focussing) 的鏡頭, 由於沒用過不清楚
索索這顆 FE 40mm f2.5 G 在對焦時前端沒有明顯移動, 和網友們對內對焦鏡頭的描述相符
內對焦鏡頭對焦時是內部部份鏡片移動, 就算是定焦鏡, 鏡片間位置會改變, 就類似變焦鏡
這有可能會影響畸變特徵, 這要移動拍攝距離拍幾張才能驗證, 很麻煩...有空再補
會發現這是因為沒有 42MP 用網格圖, 這列印要 A3, 麻煩, 所以測試時都先用 24MP 用的測試圖
此時相機和稿紙距離就和 FF 24MP 一樣, 都有變形, 雖然變形走向不太相同
後來為了展示正確矯正後的圖, 把 42MP 相機移到正確量測 600dpi 的位置後拍照
結果發現矯正參數失效, 這和別顆定焦鏡操作經驗不符, 於是開始查原因, 目前推論是內對焦鏡特性

鏡頭變形完成後接著是投影變形, 我們相機用土砲支架固定後對準玻璃, 肯定不會是 100% 垂直
別說框架問題, 就算框架 100% 無誤差, 鏡頭和機身本身也有誤差, 所以一定是歪的, 不可能正
因此我們可以利用網格圖調整到正, 我個人認為畸變矯正應該排在投影變形矯正之前
個人感覺, 沒有根據, 有興趣的用戶可以給它順序對調一下看看有沒有什麼新發現XD
這個投影變形參數每次架設完機器都要重作, 除非你相機架了就不動了, 不然只要有動就要改
但這個投影變形不用算數學, 很簡單, 用 gimp 打開鏡頭變形矯正後的網格圖
然後選取 Perspective 工具把影像拉到正, 拉正! 在軍中是訓話的意思XD
拉正後不要套用, 用滑鼠移到控制點上, 然後記下座標, 如下圖

藍色箭頭指處就是目前控制點的座標, 旁邊影像座標邊角座標則直接用影像長寬套
例如這是畫面左下角, 畫面左上角是 0,0 這張影像 6000 x 4000, 座標從 0 開始
所以左下角是 0,3999 箭頭指處是 -12,3974 這兩組數字就代表一組變形參數
畫面四個角就有四組共八個座標, 把這八個座標當作參數傳給 ImageMagick
就可以得到和 gimp 產出一樣的變形圖, 所有矯正都可以批次執行
矯正後用戶只需要旋轉和裁切就可輸出, 節省人力時間, 重複的工作通通給電腦自動完成

水平矯正也是個題目, 如何自動轉正掃描稿件, 正好我同事以前搞過這
詢問後答案是:有條件可自動, 回答這個問題前要先定義何謂 "正"
如果是文字稿, 很明顯文字走向不是垂直就是水平, 從文字邊緣去尋找可以有些蛛絲馬跡
但是這也不是百分之百, 就我掃過的文字稿觀察, 有些稿打在列印時就是歪的
不是每家廠商列印設備都高大上, 也是有低成本的機台, 那種文字四周還有雜點的
但是不影響閱讀, 畢竟這書給人看的, 不是給我們掃描用的XD
那種稿件就會讓你在對齊時出錯, 這還是文字書籍這類比較單純的情況
換成漫畫, 根本就沒有所謂正, 特別是同人本, 印刷品質差異更大, 印歪更是家常便飯
而且漫畫連水平參考都沒有, 誰規定漫畫格子一定要是方的? 這不可能吧!
連何謂正都不知道是要如何矯正? 所以轉正的問題無法處理, 只能讓用戶一張一張憑人體感覺處理

為了批次執行矯正, 我寫一隻 python 來做這件事情:distort-mp.py
就是多執行緒去調用 convert 這隻程式, 把 CPU 用好用滿, 這轉換很耗時
我的 i5-9400 主機一張 24MP 的圖需要 2-3 分鐘, 而 42MP 的圖則要 5 分鐘!
因此我們在求參數時可以先把影像縮小, 例如縮到 2048 寬, 這樣以我的機器只要幾秒就完成
先用小圖進行大方向矯正, 然後再換大圖微調, 畢竟如果小圖看就歪了, 大圖自然不可能正了
這裡給一個計算範例, 例如 A7R2 一張照片尺寸 7952 x 5304, 縮小到 2048 x 1366
經過不斷實驗找出參數: a=0.0001,b=0.00052,c=0,d=1.0,x=1120,y=-634
a,b,c,d 在影像縮放後不會變, 如果沒有中心偏離問題直接換大圖套同一參數即可
若是以我這範例, x,y 有偏離, 那就要等比例放大

x: 1120 / 2048 = 0.546875
y: (1366 + 634) / 1366 = 1.464128843

y 是負數, 所以要加上圖片高度, 這兩算式把 x,y 座標換成影像長寬的倍數
例如 1120 就在 1~2048 的約 54% 的位置, 接近中間
然後到大張圖 7952 x 5304 上再把它換回像素座標

x: 7952 * 0.546875 = 4348.75 ~= 4349
y: 5304 * 1.464128843 = 7765.739383272 ~= 7766
y: 0 - (7766 - 5304) = -2462

由於 y 是負數, 剛才加的高度要扣回去, 於是我們得到大影像用的參數:
a=0.0001,b=0.00052,c=0,d=1.0,x=4349,y=-2462
然後就可以執行腳本批次轉換, 參數格式:

./distort-mp.py <原始圖目錄> <輸出目錄> <旋轉角度> [鏡頭矯正參數] [投影矯正參數]

旋轉角度為輸出前旋轉特定角度, 這是特殊用途, 平常都寫 0
鏡頭矯正參數和投影矯正參數為選配, 若都不填就只做旋轉
我們先找出了鏡頭矯正參數就可以用這命令批次轉換:

./distort-mp.py src dst 0 '0.0001 0.00052 0 1.0 4349 -2462'

接著嘗試找出投影矯正參數後就可以加在後面:

./distort-mp.py src dst 0 '0.0001 0.00052 0 1.0 4349 -2462' '0,0 10,0 0,5303 0,5305 7951,5303 7954,5368 7951,0 7971,-22'


整理一下流程:

架設設備, 各項標準如前文, 相機設定為全手動, 雖然這對我來說是常識還是描述一下
固定所有參數, 光圈 F8, 快門和 ISO 值可任意組合, ISO 數字越小越好, 白平衡也固定
依據你的燈光色溫去調, 白色燈一般設在 5000~6000 間, 固定參數以免拍出來忽暗忽亮
也只有固定參數才能讓亮度矯正有效, 每張曝光都不同沒法矯正亮度
各家單眼相機應該會有過曝區提示, SONY 的是斑馬紋, 把這功能打開, 然後調整快門
放上白紙, 轉到畫面出現過曝區後退回一級快門, 這樣就完成設定
其實索索的過曝標示有點保守, 當標示出現時其實都還不算過曝, 但拍攝後處裡影像時都是要調整
就不需要相機設到完全符合要求, 接近即可, 反正設再好最後都要再調

放上網格紙, 調整相機到目標解析度, 我的範例紙:6k_4k_600dip_v2.pdf
上面那 pdf 是 24MP 在用的, 42MP 的 600dpi 範圍為 336 x 224mm
這個 A4 紙印不下, 我拿一張白紙直接用尺量畫一個, 然後投影矯正時就用網格紙做
接著手動對焦到準, 拍攝一張作為投影變形矯正用影像

放上一張乾淨的白紙, 白紙需覆蓋整個畫面, 拍攝一張作為亮度矯正用影像

若是新參數或是新設備剛安裝, 可以放上一張黑紙檢視有無鬼影反光, 若有, 修正後流程重來

開始拍攝, 拍到完或拍到沒電, 相機電池蓋和記憶體蓋建議維持開啟
索索的機器不會去看蓋子有沒有關, 開著可以方便換電池
若動作夠輕沒移動到相機可以不換矯正參數繼續拍

拍攝後把投影變形矯正用影像用預先算好的一元多項式先送 distort-mp.py 算一次
算完後用影像處理軟體找出投影變形數據, 然後再把兩組數據套到 distort-mp.py
確認網格可以被正確矯正後, 把所有掃描的影像先給 scale-color-mp.py 算過
然後結果再給 distort-mp.py 算, 完成後將影像轉正調色裁切後輸出

測試的大張影像放相簿:用相機當掃描器 v2



同樣 24MP 同樣 600dpi 規格, 不同片幅得到的影像不一定相同, 但沒有誰比好, 各有 "特色"
感測器密度不同, 摩爾紋的反應也不同
例如以下兩個範例, 都是 24MP, 都是 600dpi, 拍攝同原稿, 一台全幅, 一台 APSC

這是普哩啪啦(?)的 CD 歌本, 可以看到上圖 A7 部份在臉上和頭髮上都出現不規則紋路
可是翻到下一頁, 同一本歌本別頁:

換成 A7 影像均勻, A6000 出現網紋
這問題在平台掃描器上一樣會遇到, 只不過平台掃描器光學設定無法修改
用相機方案的話改變和原稿的距離即可解決
雖然是這樣沒錯...但同一份原稿讓兩台機器都有異常真是靠杯, 這歌本誰設計的啊XD

由於影像經過矯正, 影像可以多張拼接, 不過邊緣畫質還是較差, 可能需要多抓一點緩衝
不要期望兩張影像邊對邊就能接上, 這沒辦法, 即使緩衝區夠, 還有其他因素像是紙沒壓好
都有可能無法拼接, 我試了一下:

雖然有些地方沒拼好, 但還接得起來, 如果完全沒矯正, 圓弧變形的邊是無法連接的
上圖這張海報是八張照片拼接, 原稿尺寸 514 x 730mm, 以 600dpi 規格拍攝
拼接後原始影像為 12036 x 17079 像素, 12036 / 600 * 25.4 = 509.524
換算後只比原稿少 4mm, 仍接近 600dpi, 文字 VIRTUAL ON 的 N 附近有小破綻
還有底部小文字版權宣告沒有直, 有這兩小破綻, 其他地方看起來還行
庫存 22 年的海報終於完成數位化, 但由於有破綻, 我還是繼續封存, 希望有一天能無破綻入庫XD
多圖拼接是規格外的新挑戰, 這次方案只算是勉強堪用, 太麻煩, 還不能量產
但用於單張影像的應用, A4 範圍內都能量產, 適用多數文件
A4 範圍得要用最高配備, 最貴的方案XD
目前本方案相機組合可以是 APSC 24MP:兩萬元, FF 24MP:五萬元, FF 42MP:六萬五
FF 42MP, 即是配 A7R2 才可以 600dpi 覆蓋 A4 範圍, 換成 24MP 只能降尺寸或降 dpi




以上就是本方案所有細節, 接著紀錄各個死胡同們
為了推進這項計畫, 我試過不少東西, 有成功的就記在前面文章, 那些設定細節都是試出來的
由於第一版實在佔空間, 腦內模擬各種支架, 結果都沒過, 特別是想做折疊的
我想不到好方法可以容易拆裝可是又堅固的, 因為我們在壓上原稿時可完全不會手軟的
特別是有膠膜的硬紙, 不大力壓不會平整, 這力肯定會傳導到支架, 如果只是支撐可能還容易
問題是後面有相機矯正流程, 光線和投影條件要固定, 意思就是要能支撐, 還不可以偏移
這實在太困難了, 若用 3D 列印塑料支撐性能不足, CNC 碳鋼的話則是成本爆表
成本也是重要考量, 所以最後選了這個堅固, 組裝還算容易, 就是重量重了點的角鋼方案
框架以我這尺寸去訂做一張小朋友就可以搞定, 而且快速出貨不用等
使用角鋼除了價錢便宜外還有一個優勢, 那就是框架本身可以當軌道使用
我們有前後左右移動的元件, 若換成木板組裝就要額外裝滑軌
滑軌還要能鎖定, 因為拍照時不能動, 這樣算一算又是一堆功, 太麻煩了
發泡板切開掛上角鋼自然有阻力產生, 可以移動又不會太容易晃, 還非常便宜

角鋼以前的話有更輕量的選擇

這是 2021 年在特力屋購買, 可是它的製造日期是 2012~2013 年
特力屋應該會感謝我幫他們清除這 8 年庫存XD 這版型的角鋼架目前買不到了, 廠商直接說沒貨
以前還有時拍賣頁上介紹是佔用空間較少但承載能力也較差, 而角鋼架用戶大多拿去放重物
不知道是不是這樣導致這東西缺乏市場而停產, 所以只能找萬年庫存來用, 載重能力在我的應用不是重點
我反而需要輕巧的, 比一下重量, 以下兩隻都是 1.5 尺的橫桿:


相差 166 公克, 若橫桿八支全換這種就可減輕 1.3 公斤的重量, 差蠻多的, 可惜沒貨了
特力屋只有早期灰色塗料版, 沒有消光黑, 所以我只能替換四支

相機部份也是考慮過手機的, 所以我才會買 108MP, 也是期望能解決 dpi 不足的問題
可惜小米這隻光學性能是針對無限遠做最佳化, 拍風景專用, 近拍不行
而且相機的影像處理性能也很重要, 拍出來黑要很黑, 但不可以有雜訊
所以一幫 DIY 套件就全部不用考慮了, 什麼 rpi 相機模組通通不行, 暗處影像品質超噁
而選了單眼相機, 成本就指數成長, 如前面列的, 全幅配鏡頭五萬起
若是沒在玩相機的用戶看到這報價, 再看方案內容這麼麻煩肯定直接放棄的XD
這還是無反機, 算低價了, 因為若換成單反全幅的光機身就超過五萬了XD

由於相機感測器通常是橫的, 短邊為垂直地面那邊, 視角範圍較小, 比較接近畫面中心
相機鏡頭成像通常越靠近中心會比四周亮, 畫質也會比較好, 因此照明應放左右兩側
補償感測器長邊較暗處, 這樣可以讓亮度分佈較均勻, 我有試過放上下, 想進一步縮小佔用空間
可是不管怎麼擺, 甚至拗燈條改變光線分佈

中間就是會過亮, 後來仔細想, 這過亮我認為可能是鏡頭本身貢獻的, 於是嘗試架左右, 就解決了
這空間目前我沒辦法省, 只能這樣用
這樣架起來用眼睛看燈光照射的原稿會感覺中間偏暗, 可是相機拍出來是均勻的
(以 24MP 設定的話, 換成 42MP 600 dpi 的大面積來說輸出影像中間會暗)
雖然我們有亮度矯正功能, 但這矯正不是無敵的, 經過一些實驗發現若顏色落差過大時
暗處放大的顏色會偏綠, 這可能和我們求亮度時綠色佔比較高有關? 這我不知道
嘗試用一些奇怪算法補償沒有成功, 所以像下面這種配置就完全不行

這也是為了縮小空間做的嘗試, 無效, 打掉重作

這項計畫非常坑的地方是無法預測各種稿紙的反應, 淺色稿, 深色稿, 表面特殊加工稿, 反光稿
而我原先目標是 CD 歌本, 這種印刷品可說是花樣豐富XD
要試了才知道會有什麼問題, 然後就要觀察, 解決, 再重來
改好了還要再回去試那些原先測沒問題的, 規格變了, 解了新稿件的問題不代表不影響測過的稿件
一直在重試, 要非常有耐性, 所以這計畫拖了很久, 這也是本實驗室重要計畫之一
若說標籤式檔案是後端, 掃描器計畫就是前端了, 是我倉庫魔人(?)輸入資料用的設備

做這東西除了是作為前端, 也是工作上相關, 最近的專案都有用到相機
雖然用途不同, 但都會扯到矯正的問題, 業務上細節就不便提了
也沒必要提, 因為商業用的工具玩法大不相同, 但也不是說商用就比較精密要求比較高
商業上, 只要客戶同意就可以了XD 每個客戶的要求不會相同, 有的很好應付, 有的很靠杯
所以就都玩看看, 有用到就賺到, 沒用到就拿去寫入資料庫用
正好最近三級警戒了, 哪也不能去, 在家寫入資料也不錯......話是這樣說
結果本子網站好像別人也這樣想, 開始倒貨, 媽呀, 硬碟不夠用啊, 還是不太有時間掃圖XD

這次的疫情大爆發完全都是民進黨的錯, 民進黨立委要求 3+11, 民進黨指揮官同意放行引爆社區傳染
然後民進黨網軍跑去 ptt 自演親共人士攻擊指揮官, 再跑去臉書攻擊 ptt 的自己
表演中共入侵社群, 以便把罵指揮官的人通通抹紅, 其實自演不可恥, 可恥的是自演被抓到
真可怕啊這個黨, 未來還有什麼驚奇事讓我們拭目以待, 特別是那個國產疫苗爭議
還沒演到結局先別寫, 因為網路戒嚴, 亂猜當心被吉, 各位要自立自強啊!
回想五月初指揮官還到國外展示防疫成果, 隔週馬上打臉, 真難看, 後來外媒也果然狠酸了一頓
所謂驕兵必敗, 其實在我們這領域也是如此
一項產品要能成功是很多人的努力, 絕不是一個人能扛起, 還包含客戶的應用情境, 組合在一起
特別是現代應用處理器真是非常複雜, 看那程式碼數量都非常驚人
別說整個系統, 一個應用軟體都可以很驚人, 例如瀏覽器, 前陣子跟它大幹一頓, 幹到腿軟(?)XD
當時蒐集資料時就看到一頁說明, 這個可是市佔第一的瀏覽器, 看看它怎麼說:


" 要打造一個不會當機也不會卡住的繪製引擎是幾乎不可能的
同樣的, 要繪製引擎能完美安全也是幾乎不可能的 "

剛看到時心想:怎麼開頭就打預防針?XD
就算是市佔第一也沒大張旗鼓的說我的最好我的最強, 源碼完美無懈可擊
原因我想追蹤一下源碼就會懂了......那個檔案量真是可怕
真不知道這種東西要怎麼維護, 還要相容各種亂七八糟的硬體
當我看完這些內容, 我就會深刻了解這有多複雜, 自然也就不敢說能多完美多厲害
自然就會保持謙卑, 而不是千杯(?)
這樣的態度會讓你做事謹慎, 而且就算出錯了, 也有台階可下, 不會像那個指揮官那麼難堪

2 則留言:

  1. 原因很多啦~我之前就跟他聯絡過了~詳細有空再跟你講喔

    可以得話我也只想看生肉阿
    可是我外語能力很差
    還是說大叔你會日文?

    中環藍光片能用嗎
    他還是CIA片嗎?
    以前DVD燒錄片時代錸德根中環可是CIA片阿
    我燒好放3個月後就讀不到任何資料了

    你是不是有動漫基地的帳號?
    有的話可以可以登入嗎
    我想寄私訊給你

    回覆刪除
    回覆
    1. 日文 N4 學了一半而已, 可以讀簡單文法, 可以識別部份骯髒文字XD
      看無劇情純擼的本子沒問題, 不過若有中文版還是會收

      前篇文有我用過的片子的歷史紀錄:
      https://wukcsoft.blogspot.com/2019/06/tag-documents-1.1.html
      在文章後半, 自行參考, 中環有廠牌片也有代工, 我沒有測過全部品項
      目前只燒中環的威寶 Life 版, 其他廠牌沒碰, 沒法給建議

      動漫基地還活著真屌XD 是還可以登入, 但那網站我已經沒在訪問
      發那裡是不會收的, 目前只顧這裡, 有問題發這裡比較快
      若是關於我個人私事就算用私訊我也不會說的, 對於別人的私事八卦我也沒興趣
      我只玩我有興趣的玩具XD

      刪除

注意:只有此網誌的成員可以留言。