from PIL import Image
-from commons import clear
-
def edge_detection(image):
- clear()
- print "edge detection"
-
image_l = image.load()
new_image = Image.new('L', image.size)
new_image_l = new_image.load()
- for x in range(2, image.size[0] - 2):
- for y in range(2, image.size[1] - 2):
+ for x in xrange(2, image.size[0] - 2):
+ for y in xrange(2, image.size[1] - 2):
pix = (sum([sum([
image_l[a, b]
for b in range(y - 2, y + 3)])
return new_image
def peaks(image):
- clear()
- print "peak extraction"
-
image_l = image.load()
new_image = Image.new('L', image.size)
new_image_l = new_image.load()
return new_image
def high_pass(image, height):
- clear()
- print "high pass filter"
-
image_l = image.load()
new_image = Image.new('L', image.size)
new_image_l = new_image.load()
return new_image
def components(image):
- clear()
- print "components center filter"
-
image_l = image.load()
new_image = Image.new('L', image.size)
new_image_l = new_image.load()
components = []
comp_counter = 0
- for x in xrange(1, image.size[0] - 1):
- for y in xrange(1, image.size[1] - 1):
+ for y in xrange(1, image.size[1] - 1):
+ for x in xrange(1, image.size[0] - 1):
if image_l[x, y]:
s = {0}
s.add(new_image_l[x - 1, y - 1])
new_image_l[int(round(float(x_c)/c)), int(round(float(y_c)/c))] = 255
- return new_image
\ No newline at end of file
+ return new_image
+
+def half_centers(image):
+ image_l = image.load()
+ new_image = Image.new('L', image.size)
+ new_image_l = new_image.load()
+
+ x_s = 0
+ y_s = 0
+ n = 0
+ for x in range(0, image.size[0] / 2):
+ for y in range(0, image.size[1]):
+ if image_l[x, y] > 127:
+ x_s += x
+ y_s += y
+ n += 1
+ new_image_l[x_s / n, y_s / n] = 255
+
+ x_s = 0
+ y_s = 0
+ n = 0
+ for x in range(image.size[0] / 2, image.size[0]):
+ for y in range(0, image.size[1]):
+ if image_l[x, y] > 127:
+ x_s += x
+ y_s += y
+ n += 1
+ new_image_l[x_s / n, y_s / n] = 255
+
+ return new_image
+