MATLAB实现dicom转换为png格式


clc
clear
%从dicom文件中读取数据%首先获得指定文件夹下的所有文件的文件名
directory = uigetdir('','选择指定文件夹:');
dirs=dir(directory);%dirs结构体类型,不仅包括文件名,还包含文件其他信息。
dircell=struct2cell(dirs)'; %类型转化,转化为元组类型
filenames=dircell(:,1) ;%文件类型存放在第一列
%然后根据后缀名筛选出指定类型文件并读入
[n m] = size(filenames);%获得大小
for i = 1:n    
    if ~isempty( strfind(filenames{i}, '.dcm') )%筛选出jpg文件        
        filename = filenames{i};    
        %filename = filename(1:end-4);
        filepath = fullfile(directory,filename);
        pngname = [filename(1:end-4),'.png'];
        filepath_save = fullfile(directory,'png',pngname);
        img = dicomread(filepath);%读取图片 
        img=double(img); %将灰度级映射到0~255
        low=min(min(img));
        high=max(max(img));
        maxgray=high-low;%计算窗宽
        rate=256/maxgray;
        img=img*rate;
        img=img+abs(min(min(img)));%加窗
        img=uint8(img);%转化为8位的位图数据格
        imwrite(img,filepath_save);
    end
end
--------------------- 
作者:注销用户 
来源:CSDN 
原文:https://blog.csdn.net/weixin_36114494/article/details/84838663 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值