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 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Samson David Puthenpeedika
le 8 Nov 2021
Commenté : Samson David Puthenpeedika
le 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?
Réponse acceptée
Stephen23
le 8 Nov 2021
Modifié(e) : Stephen23
le 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 commentaires
Stephen23
le 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')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Blue dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!