MATLAB-手工勾勒肿瘤边界,可多次勾勒,双击保存二值化结果

%手动分割图,得到二值金标准
clear;
[filename,pathname]=uigetfile('*.bmp;*.png;*.jpg','pick picture file','MultiSelect', 'on');
resp = pathname(1:end-1);resp = [resp,'_truth'];
if ~exist(resp,'dir'),mkdir(resp); end
if isa(filename,'char')
    file{1}=filename;    ncount = 1;
else
    file=filename; ncount = size(filename,2);
end
%边缘勾勒操作
for k = 1:ncount
    str = fullfile(pathname,file{k});
    im = imread(str);
    figure(1);imshow(im,[]);    
    h=imfreehand(gca);    %交互式自由勾勒肿瘤轮廓
    wait(h);    %等待双击确定勾勒的轮廓
    %如果没画好轮廓,右键删除后,重新获取句柄勾勒
    while(~isvalid(h)) %判断句柄是否被删除(找了好多种方式才找到的)
        h=imfreehand(gca);       
        wait(h);

    end
    bw=createMask(h);
    name=[file{k}(1:end-4),'.mat'];
    save(fullfile(resp,name),'bw');
%     imwrite(bw,fullfile(newImgpath,file{k}));   不能保存成图片,会变成uint8类型,像素值改变

end

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值