MATLAB Answers

0

How can I perform a fast image transformation using a lookup table?

Asked by Peter Bone on 16 Jan 2014
Latest activity Commented on by Ashish Uthama on 16 Jan 2014
I have defined my own image transform using a lookup table. The LUT is the same size as the destination image. Each value in the LUT is a coordinate in the source image. Currently I use 'for' loops to loop over the destination pixels to lookup the source pixel. Is there a fast way of doing this? Preferably a method that can also interpolate (bilinear, etc). I have the image processing toolbox. Tformarray seems like it may help, but how can I create a tformarray from my LUT?

  0 Comments

Sign in to comment.

1 Answer

Answer by Peter Bone on 16 Jan 2014

I've worked this out myself now. For each value in the LUT I now store the single index into the source image as a single value. To create the destination image from the LUT I just do B = A(LUT);
That works quickly but only does nearest neighbour interpolation. Is there a fast method that can do bilear / bicubic?