Phone camera as colorimeter?
Phone camera as colorimeter?
我一直在說,在色彩的工作上需要一個儀器將色彩這個現象變成數字,而這個所謂的儀器,最低階的架構會是什麼樣呢?
目前手上,所謂低階的色度儀器是上圖那兩顆。
還有更低的嗎?其實,手機相機就是RGB sensor,能拉得到數值,能取得數值,就有機會可以成為色度計。
這一篇就是這一方面的探索。
先把工作方法、工作邏輯先理出來,將來是否能夠實際運用?運用的場景?……都會建立在這一次探索的基礎上。
工作邏輯其實很單純:
相機做為一個RGB sensor,大量比對相機RGB的數值與實際色彩Lab的數值,就能建立起一個相機RGB與實際色彩Lab的對應表(icc profile)。如此,相機的RGB反應值就可以透過此對應表得到一個Lab數值。也就是,相機RGB透過一個profile,它就可以是一個色度計。
邏輯已經有了。工作方法上要處理哪些問題?程序如何進行:
1.樣本量:相機取色塊樣本自然不是問題,再多色塊都是一個shot,問題是,要比對的色彩數值必須一個一個的量出來;用i1來量,取一個A4面積400個樣本不是太大問題,如果用單點設備來量,這個工作量就有點大了;基於上面幾次的發文,36個色塊已經足以建構一個完整的profile;同樣的,基於最少的工作量,這次一樣用36個樣本來建立相機的profile。
- 建立一套程序來取得相片裡面36組RGB數值,這一次用imagemagick來處理這方面的作業。程序如下:
- 先自行把作業範圍crop下來。
- 以imagemagick 指令’convert -info:’取得圖像長寬 pixel 數。
- 依上述長寬pixel計算6×6的中心點位置。
- 依上述位置取3×3 pixel RGB 平均值。
- 依上述36組RGB值與實體36組Lab值即可形成icc profile。
數值驗證:
將36組相機RGB數值經由profile取得36組Lab值,與原始Lab值比對色差,得結果如下:
左邊一組為以 percetual intent 計算Lab,與原始Lab比對,平均de00色差0.8,最大色差2.3。右邊一組為以 absolut intent 計算Lab,與原始Lab比對,平均de00色差0.59,最大色差1.88。
簡單結論
這一次工作邏輯及工作方法探索的結果,相機RGB sensor 數值經由轉換可達到平均精度0.5的位置。回應到本篇的主題,手機相機是有能力達成色度計的功能。
當然,實際使用上還是會有一些問題,比如說相機上下左右曝光的均勻度就是一個問題,這方面的工作邏輯也有做一些探討。
相機曝光均勻度補償的工作邏輯如下:
- 先取得上下左右4個白色部分的RGB值。
- 取其平均值作為參考亮度。
- 以上述平均亮度為目標,取得6×6 36個位置的補償因子(compansate factor)。
Fig. 左邊為原始曝光,右邊為曝光均勻度補償結果。 - 將前一階段取得的6×6 36組RGB,依補償因子算出新的RGB數值,此數值即為曝光平均度矯正後的數字。
所以就是用軟體的方式來補足曝光均勻度的問題。
以上兩個邏輯堆疊在一起。增加了相機作為色度計的信任度。
我先完成這兩個邏輯,後續再來看看怎麼應對工作場合中的變數。
#PrintByNumber
#colorimeter
#CameraAsColorimeter
尚無留言
Comments RSS
TrackBack Identifier URI
No comments. Be the first.
Leave a comment