二值线形图像 识别 matlab,用MATLAB检测二值图像中的线间隙

我可以假设最终目标是缩小差距吗?

比您可能想要使用形态学操作.要缩小差距,你只需要所谓的“

closing”.这是通过应用“

dilation”而不是“

erosion”来完成的.

那你怎么找到一个差距被关闭的位置?您可以只比较前后图像并查看更改.

编辑:在你的帖子后,我决定更新answear.所以我在matlab中尝试了一小段代码.

originalBW = imread('Je3ud.jpg');

imshow(originalBW);

se = strel('line',8, 0); % a straight line of 8 pixels

closeBW = imclose(originalBW,se_disk);

figure, imshow(closeBW)

subtractedBW = closeBW - originalBW;

figure, imshow(subtractedBW)

它会产生一个结果图像:

所以基本上我们找到了正确的位置,但不幸地得到了很多误报.我认为你可以通过将每个人视为候选人匹配并摆脱误报来获得你想要的结果.假阳性的一个重要部分似乎是,如果你检查他们的垂直邻域(在原始图像中),你会发现有白色像素,因为白线并没有真正断开那里(因此它们不是正确的解).因此,您可以尝试使用它来丢弃误报.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值