A computer-implemented image processing method, comprising: obtaining a first characterization vector that includes a first set of characterization values, which represents a first group of pixels that are surrounding a denoising pixel , the denoising pixel being included in a filter window of an image, wherein the image is a Bayer image; using the filter window to denoise the denoising pixel , wherein the filter window includes a plurality of denoising reference pixels ; obtaining a second characterization vector that includes a second set of characterization values, which represents a second group of pixels that are surrounding a denoising reference pixel of the plurality of denoising reference pixels ; and wherein the image is based on a color model, wherein the color model is a RGB color model, and wherein each of said first and second sets of characterization values includes a color component for the red color, a color component for the green color, a color component for the blue color, and, in addition to the color components, a grayscale component accounting for the contributions from the color components; wherein in each of the first and second sets of characterization values, the color components are determined based on a value for a color associated with a center pixel in the corresponding group of pixels; using the first set of characterization values and the second set of characterization values to determine a similarity between the denoising pixel and the denoising reference pixel ; and calculating a denoised value for the denoising pixel based on the determined similarity between the denoising pixel and the denoising reference pixel . obtaining a first characterization vector that includes a first set of characterization values, which represents a first group of pixels that are surrounding a denoising pixel , the denoising pixel being included in a filter window of an image, wherein the image is a Bayer image; using the filter window to denoise the denoising pixel , wherein the filter window includes a plurality of denoising reference pixels ; obtaining a second characterization vector that includes a second set of characterization values, which represents a second group of pixels that are surrounding a denoising reference pixel of the plurality of denoising reference pixels ; and wherein the image is based on a color model, wherein the color model is a RGB color model, and wherein each of said first and second sets of characterization values includes a color component for the red color, a color component for the green color, a color component for the blue color, and, in addition to the color components, a grayscale component accounting for the contributions from the color components; wherein in each of the first and second sets of characterization values, the color components are determined based on a value for a color associated with a center pixel in the corresponding group of pixels; using the first set of characterization values and the second set of characterization values to determine a similarity between the denoising pixel and the denoising reference pixel ; and calculating a denoised value for the denoising pixel based on the determined similarity between the denoising pixel and the denoising reference pixel . <EOS>