我正在使用Matlab 2014b中的一些MRI数据,但数据是由强度值而不是RGB组成的。为了解决这个问题,我使用下面的代码从MRI帧中形成一部电影(我在这里处理动态数据)
我的问题是图像需要更改像素的显示值,因为默认只显示在-Inf和Inf之间,我需要在0到0.25之间才能从我的数据中获得合理的图像。
有没有办法将该更改从脚本传递到电影,然后写入文件?我似乎只能在implay中为每个图像执行此操作,并且我想要一种自动编辑每个图像的方式,然后将其存储为电影的帧...?
%Code for producing movie.
graymap = gray(256);
for i = 1:32
a(:,:,i) = cmunique(Reformed_Data_Colourmap(:,:,i));
end
for i = 1:32
b = im2frame(a(:,:,i),graymap);
a(:,:,1) = ((b.cdata));
image(a(:,:,1))
colormap 'gray'
%The change needs to be here, to display pixel values from 0 to 0.25, to allow for a sensible image from the MR data.
frames(1,i) = getframe;
end
movie(frames)
答案 0 :(得分:0)
提供解决方案:
for i = 1:32
b = im2frame(a(:,:,i),graymap);
a(:,:,1) = ((b.cdata));
clims = [0 250];
%image(a(:,:,1),clims)
colormap 'gray'
imagesc(a(:,:,1),clims);
%set('window', [0 400])
frames(1,i) = getframe;
end
攀登解决了这个问题。