用Matlab處理Dicom影象
阿新 • • 發佈:2019-02-10
最近在處理CT影象時,CT影象是對人體進行逐層掃描的,在影象有很多不需要的部分,比如肋骨部分就夾雜在裡面,導致三維重建出來的影象有很多不需要的部分。很不好處理。
於是,我就想了了簡單方法,對一張一張的dicom格式的影象,把裡面不需要的畫素點都置為黑色,這樣就可以了。原打算用VC++6.0+VTK來實現的,除錯起來太麻煩了,就直接用matlab來處理就簡單了。
1。讀寫Dicom格式的影象
I=dicomread('E:\CT\37222.dcm'); %讀取影象 metadata = dicominfo('E:\CT\37222.dcm');%儲存資訊 imagesc(I);%顯示影象 dicomwrite(I, 'E:\CT\37222.dcm',metadata);%寫入Dicom影象
2.在Dicom影象上面進行選取需要的矩形區域
這個程式碼實現很簡單,找到這個方法也費了一些波折
[xv,yv] = ginput(2); %這樣就可以在影象上面選取2個點,將X座標儲存到xv中,將y座標儲存到yv中。
如果有很多點形成一個矩形區域的話,可以用 in = inpolygon(x,y,xv,yv); 來判斷,x,y座標是否在選取的點圍成的區域中。