使用Matlab在dicom图像中添加随机数

时间:2014-11-16 16:40:03

标签: matlab dicom

我通过用固定数字替换实际像素值来修改dicom图像。这是我的脚本的一行(下面)。

image_list=dir('*.dcm');

for i=1:40
img=dicomread(image_list(i).name);
imgHdr = dicominfo(image_list(i).name);
%Bone 
img(1:410,1:410) = 3000*uint16(img(1:410,1:410)>1590 & img(1:410,1:410)   <=3000)+uint16(img(1:410,1:410)<=1590 | img(1:410,1:410)>2000).*img(1:410,1:410);

dicomwrite(img, ['N' num2str(i) '.dcm'], imgHdr,'CreateMode','Copy')
end

然后,我试图将随机数(1到100之间)添加到这些固定值,即3000(如脚本中所示),因此它将介于3000和3100之间。我该怎么做?

任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

如果要添加均匀分布的随机整数,则应选择randi

所以例如这段代码:

img(1:410,1:410)= img(1:410,1:410) +randi([3000 3100],410,410);

会将现有图像伪随机均匀分布的整数从3000添加到3100。