如何从一对不透明图像中推断出 alpha 值
how to infer alpha value from pair of opaque images
我有两张图片,一张是白底,一张是黑底,我想把这些图片转换成一张半透明图片
我发现
color*alpha=blackBackgroundImage
color*alpha+(1-alpha)=whiteBackgroundImage
我想要一个接受 blackBackgroundImage 和 whiteBackgroundImage 并输出颜色和 alpha 的函数
我数学不好
你快到了。你只需要解方程组:
color*alpha=blackBackgroundImage
<=> color = blackBackgroundImage / alpha
将其代入第二个等式:
blackBackgroundImage / alpha * alpha + (1 - alpha)*(1,1,1) = whiteBackgroundImage
<=> blackBackgroundImage + (1 - alpha)*(1,1,1) = whiteBackgroundImage
<=> (1 - alpha)*(1,1,1) = whiteBackgroundImage - blackBackgroundImage
所以alpha
应该是1 + blackBackgroundImage.r - whiteBackgroundImage.r
。这同样适用于任何其他频道。
我有两张图片,一张是白底,一张是黑底,我想把这些图片转换成一张半透明图片
我发现
color*alpha=blackBackgroundImage
color*alpha+(1-alpha)=whiteBackgroundImage
我想要一个接受 blackBackgroundImage 和 whiteBackgroundImage 并输出颜色和 alpha 的函数
我数学不好
你快到了。你只需要解方程组:
color*alpha=blackBackgroundImage
<=> color = blackBackgroundImage / alpha
将其代入第二个等式:
blackBackgroundImage / alpha * alpha + (1 - alpha)*(1,1,1) = whiteBackgroundImage
<=> blackBackgroundImage + (1 - alpha)*(1,1,1) = whiteBackgroundImage
<=> (1 - alpha)*(1,1,1) = whiteBackgroundImage - blackBackgroundImage
所以alpha
应该是1 + blackBackgroundImage.r - whiteBackgroundImage.r
。这同样适用于任何其他频道。