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.)
You already know one of the sources here, so you don't need ICA.

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
$$