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

7 Ansichten (letzte 30 Tage)
Peter Bone
Peter Bone am 16 Jan. 2014
Kommentiert: Ashish Uthama am 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?

Antworten (1)

Peter Bone
Peter Bone am 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?

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by