[已解决] 如何将边缘检测处理之后边缘内的值也置1

[复制链接]
知名少先队员 发表于 2021-4-5 22:37:28
上图是我对一张图片进行边缘检测后得到的结果,现在我想将每个圈里的像素值都置1(即和边缘值相同),该怎么处理呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

最佳答案


gywxd 发表于 2021-4-7 13:10:08
你试试这个
你的图像矩阵A

BW = imbinarize(A);
BW2 = imfill(BW,'holes');
然后看看结果如何



11 条回复


gywxd 发表于 2021-4-6 19:20:56
你可以看一下 inpolygon  这个函数,如果你的图像是以矩阵保留的 用这个很方便

知名少先队员 发表于 2021-4-6 23:13:38
gywxd 发表于 2021-4-6 19:20
你可以看一下 inpolygon  这个函数,如果你的图像是以矩阵保留的 用这个很方便
...

好的,我先研究研究,谢谢!

gywxd 发表于 2021-4-6 23:44:52
突然想到一个算法,更加简单
假如 你的矩阵A 为 m*n  现在 那些黄色的边界是1

for i=1:m
   value=true
   for j=1:n
     if  value &&  A(i,j)==0
         continue;
      elseif    A(i,j)==1
         value = ~ value ;
       end
          A(i,j)=1;
   end
end

知名少先队员 发表于 2021-4-7 10:35:26
gywxd 发表于 2021-4-6 23:44
突然想到一个算法,更加简单
假如 你的矩阵A 为 m*n  现在 那些黄色的边界是1

我的那个图里的边界不是很规则,有的边界会占多个像素,比如占两个像素的时候就会被算法认为两个边界,感觉就有点不适用了:Q

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

gywxd 发表于 2021-4-7 12:44:16
本帖最后由 gywxd 于 2021-4-7 12:50 编辑
知名少先队员 发表于 2021-4-7 10:35
我的那个图里的边界不是很规则,有的边界会占多个像素,比如占两个像素的时候就会被算法认为两个边界,感 ...

你的边界不对头吧,不应该是一个像素就是边吗,
我的程序大体意思是
遇到1  就进入 区域,然后对后面的点填1,再遇到1就出了区域,然后不在填充,

这样的化就不大好弄了。



gywxd 发表于 2021-4-7 12:54:37
本帖最后由 gywxd 于 2021-4-7 12:55 编辑

你在这样试试,  
A1=A

for i=1:m
   value=true
   for j=1:n
     if  value &&  A1(i,j)==0
         continue;
      elseif    A1(i,j)==1
         value = ~ value ;
       end
          A1(i,j)=1;
   end
end
对图像进行横向填充,
得到A1



A2=A

for i=1:n
   value=true
   for j=1:m

     if  value &&  A2(i,j)==0
         continue;
      elseif    A2(i,j)==1
         value = ~ value ;
       end
          A2(i,j)=1;
   end
end
对图像进行纵向填充,
得到A2

然后 Aout=A1& A2;  %横向填充,和纵向填充都需要填充的点 才填充
应该就解决了,

gywxd 发表于 2021-4-7 12:58:02
估计还是会出现一些问题,
遇到 环 的话一样会出错

gywxd 发表于 2021-4-7 13:10:08
你试试这个
你的图像矩阵A

BW = imbinarize(A);
BW2 = imfill(BW,'holes');
然后看看结果如何



回复此楼

知名少先队员 发表于 2021-4-8 09:27:42
gywxd 发表于 2021-4-7 13:10
你试试这个
你的图像矩阵A

这次可以了!!!非常感谢!!!

mengchenl 发表于 2021-6-24 06:13:24
mark yixia

lyqmath 发表于 2021-6-25 14:02:11
imclose
按照line的方向,横向和纵向,闭合操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表