Zhang-Suen thinning algorithm: Difference between revisions

Content added Content deleted
(Undo revision 169453 by TimToady (talk))
(Undo revision 169401 by TimToady (talk)Total, complete, absolute, and utter nonsense)
Line 680: Line 680:


def zs(ng,g)
def zs(ng,g)
# The following line cannot be correct; each of the 4 directions must be ignored in
# one of the triples, and [1][2], [0][1], [2][1], and [1][0] are never ignored.
return 0 if ng[1][1] == 0 or (ng[1][2] + ng[0][1] + ng[1+g][g]) == 3 or (ng[g][1+g] + ng[2][1] + ng[1][0]) == 3
return 0 if ng[1][1] == 0 or (ng[1][2] + ng[0][1] + ng[1+g][g]) == 3 or (ng[g][1+g] + ng[2][1] + ng[1][0]) == 3
t = -1; ng.each{|n| n.each{|g| t+=g}}; return 0 unless (2 <= t and t <= 6)
t = -1; ng.each{|n| n.each{|g| t+=g}}; return 0 unless (2 <= t and t <= 6)