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

10 ビュー (過去 30 日間)
Peter Bone
Peter Bone 2014 年 1 月 16 日
コメント済み: Ashish Uthama 2014 年 1 月 16 日
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?

回答 (1 件)

Peter Bone
Peter Bone 2014 年 1 月 16 日
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?

カテゴリ

Help Center および File ExchangeGeometric Transformation and Image Registration についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by