matlab自定义函数 DeleNos_dot 消除二值化图像杂点

%输入 mask为2值化图像

function output=DeleNos_dot(mask,num,threshold)
%输入:mask二值化图像;输出:output消除杂点后的二值化图像
%边缘的杂点难以检测,建议检测前添加对应空行和列

[ysize,xsize]=size(mask);
for i=num+1:xsize-num-1%用区域蒙版的量做判断消除杂点
    for j=num+1:ysize-num-1
        if mask(j,i)==1
            if sum(sum(mask(j-num:j+num,i-num:i+num)))<threshold;%如果这个区域(大小:(2num+1)*(2num+1))的范围里的所有值小于threshold,则判断其为杂点;
                mask(j,i)=0;
            end
        end
    end
end
output=mask;


版权声明:本文为m0_47787372原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。