图像处理中二值图像边界提取

这篇博客记录了作者在图像处理实验中如何进行二值图像的边界提取。作者原先尝试复制网上方法,但由于数据格式不同(.png vs 已知图像数据),最后将类别标签图直接转化为二值图,参考了https://www.cnblogs.com/tiandsp/archive/2013/04/26/3045747.html的教程实现了MATLAB代码。提供的代码段是一个名为BoundaryJudge的函数,用于处理非二值图像。
摘要由CSDN通过智能技术生成

今天下午要完成一部分实验,中间涉及到二值边界的提取,去百度了一下。根据自己实验的结果表明,方法确实是好用,关键自己之前写过,但是效果不如网上的好!

需要在别人的基础上结合自己的需要或者自己已有的结果具体问题具体分析。本来想直接copy一下,结果人家的是.png,而自己是已知图像中的一些数据,所以直接将我得类别标签图转化为二值图,然后按照网上的思路写就可以了,我参考的是:https://www.cnblogs.com/tiandsp/archive/2013/04/26/3045747.html

%%%一下是matlab代码

%%%TureFlag是我的类别标签图,本来有7类地物,二值化一下就可以。所以如果你的也不是二值图,你可以将图像二值化再做


function [TrueFlag]=BoundaryJudge(Image,TrueFlag)

[m,n]=size(TrueFlag);
imgn=zeros(m,n);
ed=[-1 -1;0 -1;1 -1;1 0;1 1;0 1;-1 1;-1 0];
for i=2:m-1
    for j=2:n-1
        if TrueFlag(i,j)==1%如果当前像素是前景像素
            for k=1:8
                ii=i+ed(k,1);
                jj=j+ed(k,2);
                if TrueFlag(ii,jj)==0%当前像素周围如果是背景,边界标记图像相应像素标记
                    img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值