Phone camera as colorimeter?

Phone camera  as colorimeter?

phonmeter

我一直在說,在色彩的工作上需要一個儀器將色彩這個現象變成數字,而這個所謂的儀器,最低階的架構會是什麼樣呢?

 

目前手上,所謂低階的色度儀器是上圖那兩顆。

 

還有更低的嗎?其實,手機相機就是RGB sensor,能拉得到數值,能取得數值,就有機會可以成為色度計。

 

這一篇就是這一方面的探索。

先把工作方法、工作邏輯先理出來,將來是否能夠實際運用?運用的場景?……都會建立在這一次探索的基礎上。

 

工作邏輯其實很單純:

相機做為一個RGB sensor,大量比對相機RGB的數值與實際色彩Lab的數值,就能建立起一個相機RGB與實際色彩Lab的對應表(icc profile)。如此,相機的RGB反應值就可以透過此對應表得到一個Lab數值。也就是,相機RGB透過一個profile,它就可以是一個色度計。

 

邏輯已經有了。工作方法上要處理哪些問題?程序如何進行:

 

1.樣本量:相機取色塊樣本自然不是問題,再多色塊都是一個shot,問題是,要比對的色彩數值必須一個一個的量出來;用i1來量,取一個A4面積400個樣本不是太大問題,如果用單點設備來量,這個工作量就有點大了;基於上面幾次的發文,36個色塊已經足以建構一個完整的profile;同樣的,基於最少的工作量,這次一樣用36個樣本來建立相機的profile。

 

  1. 建立一套程序來取得相片裡面36組RGB數值,這一次用imagemagick來處理這方面的作業。程序如下:
  • 先自行把作業範圍crop下來。
  • 以imagemagick 指令’convert   -info:’取得圖像長寬 pixel 數。
  • 依上述長寬pixel計算6×6的中心點位置。
  • 依上述位置取3×3 pixel RGB 平均值。

Think36

  1. 依上述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。

profileDe2

簡單結論

這一次工作邏輯及工作方法探索的結果,相機RGB sensor 數值經由轉換可達到平均精度0.5的位置。回應到本篇的主題,手機相機是有能力達成色度計的功能。

 

當然,實際使用上還是會有一些問題,比如說相機上下左右曝光的均勻度就是一個問題,這方面的工作邏輯也有做一些探討。

相機曝光均勻度補償的工作邏輯如下:

  • 先取得上下左右4個白色部分的RGB值。
  • 取其平均值作為參考亮度。
  • 以上述平均亮度為目標,取得6×6 36個位置的補償因子(compansate factor)。
    ExpoComp
    Fig. 左邊為原始曝光,右邊為曝光均勻度補償結果。
  • 將前一階段取得的6×6 36組RGB,依補償因子算出新的RGB數值,此數值即為曝光平均度矯正後的數字。

 

所以就是用軟體的方式來補足曝光均勻度的問題。

 

以上兩個邏輯堆疊在一起。增加了相機作為色度計的信任度。

 

我先完成這兩個邏輯,後續再來看看怎麼應對工作場合中的變數。

 

#PrintByNumber

#colorimeter

#CameraAsColorimeter

 

Be the first to like.
pixelstats trackingpixel

無迴響

rssComments RSS   transmitTrackBack Identifier URI

No comments. Be the first.

addLeave a comment