Mean squared error between two $M\times N$ images, $I[m, n]$ and $D[m, n]$ is defined as: $$ MSE(I, D) = \frac{1}{M\times N}\displaystyle \sum_{m=1}^{M}\sum_{n=1}^{N}(I[m, n]-D[m, n])^2 $$ For a given image, $I[m, n]$, and a particular value, $\epsilon $, how to calculate all images, $D[m, n]$, that: $$ MSE(I, D) = \epsilon $$


1 Answer 1


Well, you know, there are infinitely many. Start with $D=I$, change one particular pixel to $I[m,n]+\sqrt{\epsilon}$. You have your first candidate that satisfies ${\rm MSE}(I,D)=\epsilon$. Now you can generate a new image $D$ by adding a perturbation to an arbitrary subset of pixels (say, add $\Delta$ to a single pixel) and correct the resulting difference in another pixel (say, subtract $\Delta$ from another pixel). As this works for any subset and any perturbation $\Delta$, the number of images you can generate is infinite.

Of course, if your images are INT8, this makes the set finite, yet still impractibly large. Only the amount of perturbations you can apply to single pairs of pixels is in the order of $2^{7MN}$, considering larger groups of pixels makes this even more larger.

Another way of looking at it: an $M \times N$ INT8 image has $256^{MN}$ degrees of freedom. ${\rm MSE}(I,D)=\epsilon$ is a single contraint. It's a quadratic one yes, but still it does not significantly reduce the degrees of freedom you have.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.