Re: interpolation for a color image?



AE lover schrieb:
Hi all,

I am considering the case of bilinear interpolation for a color image
(say RGB image), to apply a bilinear interpolation, will we apply the
formular of bilinear interpolation, which we use for a gray image, for
each channel R, G, and B, separately?
If so, why don't we take into account the interaction between three
channels?

Interesting idea, and a longer answer.

It depends on what you think your image channels will be, and how to make
use of their correlation. A typical way to do that is to first transform
them to a different color space, for example YUV. The transformation between
YUV (and related other spaces) is linear, and the bilinear interpolation
filter is linear as well, but in a different dimension. This means that
it actually makes *no* difference at all whether you first transform to
YUV, run there a bilinear filter, then transform back, or run the bilinear
filter on RGB itself. The result will be the same. But *only* because
bilinear filtering is linear, and YUV to RGB is a linear transformation.

If you pick a nonlinear color space (say, CIElab) and/or a nonlinear
filter (say, bicubic), things will be not so easy and the results will
be different. Probably not much different, since the purpose of interpolation
filters is to create pixels that are not very different from the surrounding.

Anyhow, if quality is of your concern, I would suggest to use a higher
interpolation filter, bicubic is typically fine.

So long,
Thomas
.



Relevant Pages

  • Re: image upscaling
    ... I am using bilinear interpolation, and the image gets a bit blurred. ... but they requires complex shaders. ... Gaussian or median filter might de-blur the image and can be done ... Any king of 2d filtering would require a complex shader, because they require at least all 8 surrounding value, and that is at least 8 texture reads. ...
    (comp.graphics.api.opengl)
  • Re: interpolation for a color image?
    ... , to apply a bilinear interpolation, will we apply the ... Since resizing is a spatial transformation, it should be invariant to intensity levels (mono or RGB). ... interpolation errors on reparate RGB channels may produce a new pixel value slightly ... store the RGB ratios for each pixel, i.e., keep the original image, convert ...
    (sci.image.processing)
  • Re: interpolation for a color image?
    ... I am considering the case of bilinear interpolation for a color image ... Since resizing is a spatial transformation, it should be invariant to intensity levels (mono or RGB). ... convert the intensity matrix back to RGB using the values/ratios for each pixel form the original image. ...
    (sci.image.processing)
  • Re: interpolation for a color image?
    ... I am considering the case of bilinear interpolation for a color image ... formular of bilinear interpolation, which we use for a gray image, for ... I think I've seen where you get color artifacts if you do this in RGB ... (which takes into account interactions, like you say, because the HSI ...
    (sci.image.processing)
  • Re: interpolation for a color image?
    ... , to apply a bilinear interpolation, will we apply the ... formular of bilinear interpolation, which we use for a gray image, for ... I think I've seen where you get color artifacts if you do this in RGB ... You cannot properly interpolate on the H channel. ...
    (sci.image.processing)