我有一个二进制映像,为简单起见让我们假设这是一个简单的直线:寻找具体的细化算法
00000000000000
00000000000000
00000000000000
11111111110000
00000000000000
00000000000000
00000000000000
,我想扩展它的2px。
为了这个目的,我申请的扩张有两个迭代和预期得到这个:
00000000000000
11111111111100
11111111111100
11111111111100
11111111111100
11111111111100
00000000000000
然后,我的想法是简单地套用变薄并获得初始行由两个像素延长。但是,相反,我得到了缩短线路,可能是因为线宽:
00000000000000
10000000000000
10000000000000
11111111100000
10000000000000
10000000000000
00000000000000
我当时以为申请与菱形结构的足迹,而不是3×3的人()扩张,但结果更糟 - 线缩短了一个多像素。
为了减薄,我使用了Zhang-Suen algorithm和Guo-Hall algorithm,我也尝试过使用skimage公开的Otsu方法,这种方法产生了类似的结果。
有人能告诉我关于细化算法,可以让我的存在,我当家,也许不同的做法?
更新(解决@marinus评论):
如前所述,我谨向初始行2px的,并得到:
00000000000000
00000000000000
00000000000000
11111111111100
00000000000000
00000000000000
00000000000000
虽然我不能用我的细化方法,因为细化似乎以这种方式工作:
所以仅通过扩张初始行,我不可能稀疏扩展。
我无法弄清楚究竟你想。你能给你想要得到的输出吗? – marinus 2013-03-21 22:10:26