無題
任意の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)
となります。
この式を適用することで、
・元の色とα値は分からない
・背景色とブレンド結果は分かっている
という画像の元の姿が復元されるわけです。