关闭

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

标签: function算法
1931人阅读 评论(4) 收藏 举报

 

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

%输入参数: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

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16814次
    • 积分:268
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:1篇
    • 译文:0篇
    • 评论:21条
    最新评论