Zhang-Suen thinning algorithm: Difference between revisions
Content deleted Content added
Line 623: | Line 623: | ||
................................</pre> |
................................</pre> |
||
=={{header|Ruby}}== |
=={{header|Ruby}}== |
||
{{incorrect|Ruby|You probably have the same axis problem as mentioned in the talk page}} |
|||
<lang ruby> |
<lang ruby> |
||
# Thinning RC |
# Thinning RC |
||
Line 635: | Line 634: | ||
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) |
||
t = -1; |
t = -1;[ng[0][1],ng[0][2],ng[1][2],ng[2][2],ng[2][1],ng[2][0],ng[1][0],ng[0][0],ng[0][1]].each{|n| t+=(t==0 or t==2)? n : 1-n} |
||
return 0 unless t==1 or t==2 |
return 0 unless t==1 or t==2 |
||
@r=1 |
@r=1 |