matlab中对dicom格式的医学图像有哪些处理方法?
1个回答
展开全部
在matlab 2006上写的两个函数,这两个函数的调用格式为:
读DICOM图像数据:
X = read_dicom(filename)
这个函数的作用是从filename所指定的文件中读取图像数据,通过X返回(如果是灰度图像,X是一个二维矩阵;如果是真彩色,则是一个三维矩阵)。同时,该函数还会将读取的图像用一个新的窗口显示出来。其中,函数的参数filename是一个字符串,也就是你要读取的DICOM文件名,这个DICOM文件必须要放在matlab的工作目录下,通常情况下,这是在matlab的work\子目录下。比如,在我的机器上就是放在C:\matlab2006\work\目录下的,如果你的matlab工作目录与这里的不同,请把源代码文件和要转换的图像文件都放到工作目录下再运行。
比如,要读取“滤线栅2_5mAs.dcm”这个文件,那么只需要在命令窗口输入:
X = read_dicom('滤线栅2_5mAs.dcm')就可以了。
与此类似,要读取“滤线栅3_2mAs.dcm”,只需要输入:
X = read_dicom('滤线栅3_2mAs.dcm')就可以了。
写DICOM图像数据:
status = write_dicom(in_filename, out_filename)
这个函数的作用是把in_filename所指定的通用图像文件格式(如BMP,JPEG等)转换为DICOM文件并输出。目前,对JPEG的支持较好,转换BMP索引图像还有问题,暂时没有找到解决办法,没有发现问题出在哪里。在我打包的压缩文件里面,有两个用来测试这个函数的JPEG文件,分别是test20.jpg和yazhi.jpg。
比如,要将test20.jpg转换为DICOM文件并保存为test20.dcm文件,只需要在命令窗口输入:
status = write_dicom('test20.jpg', 'test20.dcm')
这里的status是函数的返回值,如果出错,可以通过它得知出错的原因。
类似地,如果要转换yazhi.jpg,则只需输入:
status = write_dicom('yazhi.jpg', 'yazhi.dcm')即可。
转换后得到的test20.dcm和yazhi.dcm可以用DICOM专用程序打开,比如CVIEW.exe。请自己尝试。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询