Se eu entendi a pergunta corretamente, e você não tem nenhuma informação extra que você não nos contou, Eu acredito que isso será impossível. Considere a seguinte imagem composta:
Obviamente,temumfundoazul.Agora,aquiestãoosobjetosdeprimeiroplano:
Eu não vejo como você poderia ter um algoritmo para obter a segunda imagem do primeiro - não há informações suficientes para trabalhar.
Então, o que você pode fazer se tiver mais informações? Que informação extra seria útil? Parte da resposta é que você precisa saber onde estão os objetos de primeiro plano. Se um objeto de primeiro plano for da mesma cor do plano de fundo, ou é 100% transparente e não tem bordas, é invisível e não há algoritmo que possa até mesmo deduzir sua existência. (E, se eles se sobrepuserem, pode ajudar saber a ordem de empilhamento. Pode ser possível deduzir isso (isto é, calculá-lo por um algoritmo), mas eu não sei.)
Mas, dado que você sabe onde estão os objetos, considere: Você tem um fundo de cor B, obscurecido por um objeto em primeiro plano da cor F e transparência T. Qual é a cor (C) que você vê? C pode ser calculado como uma função de B, F e T. (Se T = 0, C = F; se T = 1 (100%), C = B.) Você conhece B e C; faz sentido que você seja capaz de determinar F ou T se você conhece o outro.
Há exceções, que mencionei no parágrafo anterior. Se C = B, o objeto é invisível, porque ou é da mesma cor que o fundo (F = B) ou é 100% transparente (T = 1). Se você conhece F = B = C, é impossível determinar T. Se você conhece T = 1, então é impossível determinar F. Mas pelo menos no segundo caso (T = 1), Se você quer apenas determinar como o objeto em primeiro plano se parece: parece branco.
Muitos programas implementam esta função:
PowerPoint (o que eu usei para criar minhas imagens), Photoshop, Paint.NET, GIMP, etc.,
e é provavelmente documentado.
Eu sugiro que você pesquise essa função C=f(B,F,T)
e descubra como derivar F=f′(B,T,C)
e T=f″(B,F,C)
.