How rescale and save image in Matlab?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am reading a 'mhd' file which it's giving me an info like below:
Filename: 'patient0001_2CH_ED_gt.mhd'
Format: 'MHA'
CompressedData: 'false'
ObjectType: 'image'
NumberOfDimensions: 3
BinaryData: 'true'
ByteOrder: 'false'
TransformMatrix: [1 0 0 0 1 0 0 0 1]
CenterOfRotation: [0 0 0]
AnatomicalOrientation: 'RAI'
Offset: [0 0 0]
PixelDimensions: [0.3080 0.1540 1.5400]
Dimensions: [549 778 1]
ElementNumberOfChannels: '1'
DataType: 'uchar'
DataFile: 'patient0001_2CH_ED_gt.raw'
BitDepth: 8
HeaderSize: 384
Then by another function I will read the info, then produce the image. Then, I need to rescale image dimension with pixel dimension ( PixelDimensions: [0.3080 0.1540 1.5400]), and I used imagescin order to do this like below code, but it change the unique value of my image. Is there any way to rescale the image without imagesc? alos imagesc produce 3 channels which I don't want, and apparently all channels are same.
rows = 1:info.Dimensions(1);
cols = 1:info.Dimensions(2);
Im2 = imagesc(rows.*info.PixelDimensions(1),cols.*info.PixelDimensions(2),Im(:,:)');
saveas(gcf,'Output_filename.png')
2 commentaires
Jurgen vL
le 21 Mai 2019
You are fundamentally misunderstanding what imagesc does. You want spatial resizing, not graylevel rescaling. Consider using imresize3.
Réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox 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!