def make_thin(im): loaded = utils.load_image(im) utils.apply_to_each_pixel(loaded, lambda x: 0.0 if x > 10 else 1.0) print "loading phase done" t1 = [[1, 1, 1], [0, 1, 0], [0.1, 0.1, 0.1]] t2 = utils.transpose(t1) t3 = reverse(t1) t4 = utils.transpose(t3) t5 = [[0, 1, 0], [0.1, 1, 1], [0.1, 0.1, 0]] t7 = utils.transpose(t5) t6 = reverse(t7) t8 = reverse(t5) thinners = [t1, t2, t3, t4, t5, t6, t7] usage = True while(usage): usage = apply_all_structures(loaded, thinners) print "single thining phase done" print "thining done" utils.apply_to_each_pixel(loaded, lambda x: 255.0 * (1 - x)) utils.load_pixels(im, loaded) im.show()
def make_thin(im): loaded = utils.load_image(im) utils.apply_to_each_pixel(loaded, lambda x: 0.0 if x > 10 else 1.0) print("loading phase done") t1 = [[1, 1, 1], [0, 1, 0], [0.1, 0.1, 0.1]] t2 = utils.transpose(t1) t3 = reverse(t1) t4 = utils.transpose(t3) t5 = [[0, 1, 0], [0.1, 1, 1], [0.1, 0.1, 0]] t7 = utils.transpose(t5) t6 = reverse(t7) t8 = reverse(t5) thinners = [t1, t2, t3, t4, t5, t6, t7] usage = True while (usage): usage = apply_all_structures(loaded, thinners) print("single thining phase done") print("thining done") utils.apply_to_each_pixel(loaded, lambda x: 255.0 * (1 - x)) utils.load_pixels(im, loaded) im.show()
def calculate_minutiaes(im): pixels = utils.load_image(im) utils.apply_to_each_pixel(pixels, lambda x: 0.0 if x > 10 else 1.0) (x, y) = im.size result = im.convert("RGB") draw = ImageDraw.Draw(result) colors = {"end" : (150, 0, 0), "y" : (0, 150, 0)} ellipse_size = 2 f = open('output.txt', 'wb+') for i in range(1, x - 1): for j in range(1, y - 1): minutiae = minutiae_at(pixels, i, j) if minutiae != "none": s = "" if minutiae == "end": s = "({0},{1},zakonczenie)\n".format(i,j) if minutiae == "y": s = "({0},{1},rozwidlenie)\n".format(i,j) f.write(s) draw.ellipse([(i - ellipse_size, j - ellipse_size), (i + ellipse_size, j + ellipse_size)], outline = colors[minutiae]) del draw return result
def calculate_minutiaes(im): minutiaes = [] pixels = utils.load_image(im) utils.apply_to_each_pixel(pixels, lambda x: 0.0 if x > 10 else 1.0) (x, y) = im.size result = im.convert("RGB") draw = ImageDraw.Draw(result) colors = {"ending": (150, 0, 0), "bifurcation": (0, 150, 0)} indexes = {"ending": 1, "bifurcation": 2} ellipse_size = 2 for i in range(1, x - 1): for j in range(1, y - 1): minutiae = minutiae_at(pixels, i, j) if minutiae != "none": minutiaes.append((i, j, indexes[minutiae])) draw.ellipse([(i - ellipse_size, j - ellipse_size), (i + ellipse_size, j + ellipse_size)], outline=colors[minutiae]) del draw return result, minutiaes
def calculate_minutiaes(im): pixels = utils.load_image(im) utils.apply_to_each_pixel(pixels, lambda x: 0.0 if x > 10 else 1.0) (x, y) = im.size result = im.convert("RGB") draw = ImageDraw.Draw(result) colors = {"ending" : (150, 0, 0), "bifurcation" : (0, 150, 0)} ellipse_size = 2 for i in range(1, x - 1): for j in range(1, y - 1): minutiae = minutiae_at(pixels, i, j) if minutiae != "none": draw.ellipse([(i - ellipse_size, j - ellipse_size), (i + ellipse_size, j + ellipse_size)], outline = colors[minutiae]) del draw return result