1. A method comprising: locating a noisy patch by a computing device within an image to be denoised; computing an initial denoising result by the computing device for the noisy patch; locating one or more of a plurality of partitions by the computing device that correspond to the initial denoising result for the noisy patch, each of the plurality of partitions formed as clusters based on clean patches taken from training samples of training images that do not have noise that is to be removed; obtaining a denoising operator by the computing device associated with the located one or more partitions that correspond to the initial denoising result for the noisy patch and that is learned from the training samples of the training images; and applying the obtained denoising operator by the computing device to the noisy patch to compute a denoising result for the noisy patch.