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 (101, 201), the denoising pixel (101, 201) being included in a filter window (110, 210) of an image, wherein the image is a Bayer image; using the filter window (110, 210) to denoise the denoising pixel (101, 201), wherein the filter window (110, 210) includes a plurality of denoising reference pixels (102, 202, 203); 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 (102, 202, 203) of the plurality of denoising reference pixels (102, 202, 203); 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 (101, 201) and the denoising reference pixel (102, 202, 203); and calculating a denoised value for the denoising pixel (101, 201) based on the determined similarity between the denoising pixel (101, 201) and the denoising reference pixel (102, 202, 203). 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 (101, 201), the denoising pixel (101, 201) being included in a filter window (110, 210) of an image, wherein the image is a Bayer image; using the filter window (110, 210) to denoise the denoising pixel (101, 201), wherein the filter window (110, 210) includes a plurality of denoising reference pixels (102, 202, 203); 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 (102, 202, 203) of the plurality of denoising reference pixels (102, 202, 203); 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 (101, 201) and the denoising reference pixel (102, 202, 203); and calculating a denoised value for the denoising pixel (101, 201) based on the determined similarity between the denoising pixel (101, 201) and the denoising reference pixel (102, 202, 203).