MatLab读写dicom 像素操作
使用Matlab读写Dicom比较简单。
一、读DICOM图像
主要涉及到两个函数:dicominfo和dicomread
(1)metadata = dicominfo(filename)
主要用于读取dicom的头文件
获取某个tag直接使用metadata.方法即可,例如metadata.SeriesInstanceUID。
需要修改tag也简单,例如:metadata.SeriesInstanceUID = '1.3.12.2.1107.5.1.4.73336.3000002109301112409880041433001';
(2)img= dicomread(filename)
用于读取dicom像素信息,img直接为二维矩阵,使用imshow可以直接显示图像
二、写DICOM图像
主要涉及到的函数为:dicomwrite
dicomwrite(img,newfilename,metadata);
如果需要修改dicom图像的像素信息,只需要修改img中的值即可,img(i,j) = 0;
filename=fullfile('E:\\***\\IMG-0001-00484.dcm');
info = dicominfo(filename);
img = dicomread(filename);
info.SeriesInstanceUID = '1.3.12.2.1107.5.1.4.73336.3000002109301112409880041433001';
for i = 1:512
for j = 1:512
if(i>240 && i < 320)
z = 1;
else
img(i,j) = 0;
end
end
end
newfilename = 'E:\\***\\IMG-0001-00161.dcm'
dicomwrite(img,newfilename,info);