Zhang-Suen thinning algorithm: Difference between revisions
Content added Content deleted
(Added Elixir) |
m (→{{header|Sidef}}: modified the code to work with Sidef 2.30) |
||
Line 2,452: | Line 2,452: | ||
var s1 = str.lines.map{|line| line.chars.map{|c| c==black ? 1 : 0 }} |
var s1 = str.lines.map{|line| line.chars.map{|c| c==black ? 1 : 0 }} |
||
var s2 = s1.len.of { s1[0].len.of(0) } |
var s2 = s1.len.of { s1[0].len.of(0) } |
||
var xr = (1 |
var xr = RangeNum(1, s1.end-1) |
||
var yr = (1 |
var yr = RangeNum(1, s1[0].end-1) |
||
do { |
do { |
||
r = 0; |
r = 0; |
||
Line 2,463: | Line 2,463: | ||
method zs(ng,x,y,g) { |
method zs(ng,x,y,g) { |
||
(ng[x][y] == 0) |
(ng[x][y] == 0) -> |
||
|| (ng[x-1][y] + ng[x][y+1] + ng[x+g][y+g - 1] == 3) |
|| (ng[x-1][y] + ng[x][y+1] + ng[x+g][y+g - 1] == 3) -> |
||
|| (ng[x+g - 1][y+g] + ng[x+1][y] + ng[x][y-1] == 3) |
|| (ng[x+g - 1][y+g] + ng[x+1][y] + ng[x][y-1] == 3) -> |
||
&& return 0; |
&& return 0; |
||