What is the use of "maxidx = max(A(:))+1" in the below code ? How does it work? Any alternate syntax for the below function?
11 views (last 30 days)
Show older comments
Samson David Puthenpeedika
on 8 Nov 2021
Commented: Samson David Puthenpeedika
on 9 Nov 2021
The question and code is given below :-
input: spine.tif from MATLAB
Read the indexed image with the associated colormap, show the colormap functions of all color channels with the corresponding color;
[A,map]=imread("spine.tif");
maxidx = max(A(:))+1;
figure()
hold on;
plot(map(1:maxidx,1),'r')
plot(map(1:maxidx,2),'g')
plot(map(1:maxidx,3),'b')
hold off
Can someone explain the use of "maxidx = max(A(:))+1;" in this code .
Like what did the above code do?
Is there any syntax to do the above function?
Accepted Answer
Stephen23
on 8 Nov 2021
Edited: Stephen23
on 8 Nov 2021
"Can someone explain the use of "maxidx = max(A(:))+1;" in this code"
The answer can be derived from https://www.mathworks.com/help/matlab/creating_plots/image-types.html
The image file contains an indexed image, stored using integer indices:
class(imread("spine.tif"))
imfinfo("spine.tif")
"Like what did the above code do?"
Converts the maximum index of a integer indexed image (i.e. zero-based) into a MATLAB index (i.e. one-based).
"Is there any syntax to do the above function?"
What function?
3 Comments
Stephen23
on 9 Nov 2021
" Is there any other way or alternate solution to show the colormap functions of all color channels with the corresponding color"
[A,map] = imread("spine.tif");
mx = 1+max(A(:));
rgbplot(map(1:mx,:))
Compared against the original approach:
figure()
hold on;
plot(map(1:mx,1),'r')
plot(map(1:mx,2),'g')
plot(map(1:mx,3),'b')
More Answers (0)
See Also
Categories
Find more on Blue in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!