1. A method comprising: providing, by an image manipulation application executed by a processing device, an input image, a two-dimensional blur kernel, and an interim latent image to an energy function, wherein the two-dimensional blur kernel for the input image describes blurring of the input image, wherein the interim latent image comprises a partially de-blurred version of the input image, wherein the energy function includes a non-local-means denoising operation that is applied to the interim latent image; modifying, by the image manipulation application, the energy function to include an approximation image as an input to the non-local-means denoising operation, the approximation image representing a noise-free version of the interim latent image; and minimizing, by the image manipulation application, the output of the energy function, wherein minimizing the output of the energy function comprises setting initial values for each pixel of the approximation image to zero such that the approximation image is a black image.