Rescale a grayscale image
19 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ana Gabriela Guedes
le 1 Nov 2021
Commenté : Ana Gabriela Guedes
le 1 Nov 2021
Hi!
I have this input image: CT-MONO2-16-ankle.dcm and I need to read this dicom file and rescale the grayscale image by mapping the full range of its content intensity to the scale of the corresponding image data type (this is what is written in the assignment I have to do).
Can someone please help me? I don't understand what am I supposed to do in here or how since the image is already in grayscale.
Thank you!
0 commentaires
Réponse acceptée
DGM
le 1 Nov 2021
Consider the following image. The image content does not span the extent of the allowable range.
A = dicomread('CT-MONO2-16-ankle.dcm');
getrangefromclass(A) % standard data range for the class of A
[min(A(:)) max(A(:))] % show the actual range of the data
Normalize it and then scale/cast it to whatever the intended working image class is supposed to be. If you assume that it should remain int16:
B = im2int16(mat2gray(A)); % normalize, cast and scale
[min(B(:)) max(B(:))] % show the actual data range
Or if you want uint8:
C = im2uint8(mat2gray(A)); % normalize, cast and scale
[min(C(:)) max(C(:))] % show the actual data range
Or if you just want double:
D = mat2gray(A); % normalize
[min(D(:)) max(D(:))] % show the actual data range
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur DICOM Format 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!