2010年10月20日の日記

<2010/10/21 2010/10/19>

無題

任意の2色を背景とした2画像からαチャンネルと元の色を復元するプログラムを作っています。

α値があると想定した本来の画像において、
・元の色を共通でO(0~255)
・α値を共通でA(0~255)

背景色とブレンドした画像AとBにおいて、
・背景色をそれぞれBAとBB(0~255)
・ブレンド結果をそれぞれCAとCB(0~255)

とすると、
・CA = O*A/255 + BA*(255-A)/255
・CB = O*A/255 + BB*(255-A)/255

という連立方程式が成り立ちます。

これを解くと、
・O = (BA*CB - BB*CA)/(BA - BB - CA + CB)
・A = 255*(BA - BB - CA + CB)/(BA - BB)

となります。

この式を適用することで、
・元の色とα値は分からない
・背景色とブレンド結果は分かっている
という画像の元の姿が復元されるわけです。

<2010/10/21 2010/10/19>