How rescale and save image in Matlab?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Jurgen vL
el 21 de Mayo de 2019
You are fundamentally misunderstanding what imagesc does. You want spatial resizing, not graylevel rescaling. Consider using imresize3.
Respuestas (0)
Ver también
Categorías
Más información sobre Image Processing Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!