X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/cb5f68ed0aa3a0f1f8ae416d090a7faadace81b5..8d05ccd11445ae069ae14dfb95d566907546e989:/filter.py?ds=sidebyside diff --git a/filter.py b/filter.py index c378f76..c350ef5 100644 --- a/filter.py +++ b/filter.py @@ -1,9 +1,12 @@ from PIL import Image +from commons import clear -def filter(image): +def edge_detection(image): image_l = image.load() new_image = Image.new('L', image.size) new_image_l = new_image.load() + clear() + print "edge detection" for x in range(2, image.size[0] - 2): for y in range(2, image.size[1] - 2): 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]) @@ -13,3 +16,18 @@ def filter(image): pix = 0 new_image_l[x, y] = pix return new_image + +def high_pass(image, high_pass): + image_l = image.load() + new_image = Image.new('L', image.size) + new_image_l = new_image.load() + clear() + print "high pass filter" + for x in xrange(image.size[0]): + for y in xrange(image.size[1]): + if image_l[x, y] < high_pass: + new_image_l[x, y] = 0 + else: + new_image_l[x, y] = image_l[x, y] + + return new_image