我通过用固定数字替换实际像素值来修改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之间。我该怎么做?
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
如果要添加均匀分布的随机整数,则应选择randi
所以例如这段代码:
img(1:410,1:410)= img(1:410,1:410) +randi([3000 3100],410,410);
会将现有图像伪随机均匀分布的整数从3000添加到3100。