Hough transform: Difference between revisions

Added Sidef
(Scala improved)
(Added Sidef)
Line 750:
private val dataArray = Array.ofDim[Int](width, height)
}</lang>
 
=={{header|Sidef}}==
{{trans|Python}}
<lang ruby>require('Imager')
 
func hough(im, width=460, height=360) {
 
height = 2*floor(height / 2)
 
var xsize = im.getwidth
var ysize = im.getheight
 
var ht = %s|Imager|.new(xsize => width, ysize => height)
var canvas = height.of { width.of(255) }
 
ht.box(filled => true, color => 'white')
 
var rmax = hypot(xsize, ysize)
var dr = 2*(rmax / height)
var dth = (Num.pi / width)
 
for y,x in (^ysize ~X ^xsize) {
var col = im.getpixel(x => x, y => y)
var (r,g,b) = col.rgba
(r==255 && g==255 && b==255) && next
for k in ^width {
var th = dth*k
var r = (x*cos(th) + y*sin(th))
var iry = (height/2 + int(r/dr + 0.5))
ht.setpixel(x => k, y => iry, color => 3.of(--canvas[iry][k]))
}
}
 
return ht
}
 
var img = %s|Imager|.new(file => 'Pentagon.png')
var ht = hough(img)
ht.write(file => 'Hough transform.png')</lang>
 
=={{header|Tcl}}==
2,747

edits