2014-11-16 47 views
0

我通過用固定數字替換實際像素值來修改dicom圖像。這是我的腳本的一行(如下)。使用Matlab在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

該行工作正常,但我不知道如何在我的腳本中添加隨機數 – Turki

回答

0

如果你想添加隨機整數均勻分佈的,你應該去randi

因此,例如驗證碼:

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

將均勻分佈的整數添加到現有的圖像僞隨機從3000到3100 。

+0

我有8個固定值的結果圖像。將可能爲指定的固定值添加隨機數(即只對3000值和其他值保持不變)? – Turki