How do I use a .lut file (or the equivalent in MATLAB) to reference pixels in a grayscale image and assign them new values for pseudocoloring based on the LUT?

13 views (last 30 days)
Hey, everyone. I'm creating a program to analyze grayscale images into pseudocolored images. Currently, my program works; however, it's fairly slow. The program currently iterates through each pixel and assigns it a new value, based on what I selected through tons of ifs and elseifs. As you could imagine, it does take quite some time to run (about a minute). I want to rewrite this code in order to utilize a LookUp Table for the R, G, and B layers as the values I assign them now are essentially constants, thus an LUT would work great. I'm just struggling trying to actually utilize it in matlab.
Really, what I need to know how to do is have a LookUp Table with x-values of 0-255, and corresponding y-values that will eventually become the multiplier for the original pixel (after some analysis of course), and actually utilize this table to change pixel values instead of iterating through like the program does now. Is it possible to use an LUT in this way with MATLAB?

Accepted Answer

Anton Semechko
Anton Semechko on 10 Jul 2018
There is a Matlab function that maps gray values to RGB values using custom made look-up-tables. Its called 'ind2rgb': https://www.mathworks.com/help/matlab/ref/ind2rgb.html
  6 Comments
Elliott Gorman
Elliott Gorman on 10 Jul 2018
Ah, I was thinking about that but was weary about changing the values of the pixels beforehand as they are very important. I got that cleared up and a idea to fix that though. Thanks for all of your help!

Sign in to comment.

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Products


Release

R2015a

Community Treasure Hunt

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

Start Hunting!