# Blind source separation on images - with a known source

A camera outputs an image $A$ that is a linear combination of two uncorrelated images $B$ and $C$:

$$A = B + kC$$

Images $A$ and $C$ are known; the unknowns here are $B$ and a scalar coefficient $k$ that varies the intensity of $C$.

Is there a way to retrieve $B$? I could use $A$ and $C$ as separate sources and apply the ICA algorithm, but I think that it's an overkill in this case, and there should be something simpler. Any suggestion? (I'm using OpenCV to process the images, but I can implement non-OpenCV algorithms if I need to.)

There are infinitely many couples $k$ and $B$ that verify: $$A = B + kC,$$ but in your case if you assume that $B$ and $C$ are uncorrelated, we can choose the solution that minimizes the correlation between $B$ and $C$.
Using the previous equation and the linearity of the correlation operator, we have: $$\text{corr}(A,C) = \text{corr}(B,C) + k \text{corr}(C,C)$$
So you need to find $k$ that minimizes $(\text{corr}(A,C) - k \text{corr}(C,C))^2$, which is simply:
$$k = \frac{\text{corr}(A,C)}{\text{corr}(C,C)}.$$ And finally: $$B = A- \frac{\text{corr}(A,C)}{\text{corr}(C,C)}C$$