判断一个像素点是不是在封闭轮廓内部

 

%函数功能:判断一个像素点是否在封闭区间里面

%输入参数:i(横坐标),j(纵坐标),二值图像,1为目标区域

%输出参数:0表示不再轮廓内,1表示在轮廓内

%算法思想:因为封闭区间如果是凸多边形的话,直接可以用像素点所在的直线与多边形的交点判断,

%但是提取出的骨骼轮廓是不规则的,所以先孔洞填充,填充的部分变为目标区域集合S,如果像素点在集合

%S里面,则在区域里面,如果不属于S则在区域外面

%zsj写于2011-1-8

function result=judege_in_or_out(i,j,f);

%先对f孔洞填充

%f=imread('F:/数字图象处理/segmentation/第一节骨骼轮廓.bmp');

f_fill=imfill(f,'holes');

figure

imshow(f_fill);

[f_fill_row,f_fill_col]=find(f_fill==1);

num_1=length(f_fill_row);

result=0;

for row=1:num_1

    for col=1:num_1

        if(i==f_fill_row(row)&&j==f_fill_col(col))

            result=1;

        end

    end

end

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值