使用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);