from PIL import Image
-def edge_detection(image):
+def edge_detection(image, size):
image_l = image.load()
new_image = Image.new('L', image.size)
new_image_l = new_image.load()
- for x in xrange(2, image.size[0] - 2):
- for y in xrange(2, image.size[1] - 2):
+ for x in xrange(size, image.size[0] - size):
+ for y in xrange(size, image.size[1] - size):
pix = (sum([sum([
image_l[a, b]
- for b in range(y - 2, y + 3)])
- for a in range(x - 2, x + 3)])
- - (25 * image_l[x, y]))
+ for b in range(y - size, y + size + 1)])
+ for a in range(x - size, x + size + 1)])
+ - (((2 * size + 1) ** 2) * image_l[x, y]))
if pix > 255:
pix = 255
if pix < 0:
if verbose:
print >> sys.stderr, "edge detection"
- im_edges = filters.edge_detection(im_l)
+ im_edges = filters.edge_detection(im_l, 2)
if show_all:
do_something(im_edges, "edge detection")