def threshold(pixels, args): intervals = [] print("Defining intervals...") for y in range(len(pixels)): intervals.append([]) for x in range(len(pixels[0])): if util.lightness(pixels[y][x]) < args.bottom_threshold or util.lightness(pixels[y][x]) > args.upper_threshold: intervals[y].append(x) intervals[y].append(len(pixels[0])) return intervals
def threshold(pixels, args): intervals = [] logging.debug("Defining intervals...") for y in range(len(pixels)): intervals.append([]) for x in range(len(pixels[y])): if util.lightness( pixels[y][x]) < args["bottom_threshold"] or util.lightness( pixels[y][x]) > args["upper_threshold"]: intervals[y].append(x) intervals[y].append(len(pixels[y])) return intervals
def file_edges(pixels, args): img = Image.open(args.interval_file_path) img = img.rotate(args.angle, expand=True) img = img.resize((len(pixels[0]), len(pixels)), Image.ANTIALIAS) edges = img.filter(ImageFilter.FIND_EDGES) edges = edges.convert('RGBA') edge_data = edges.load() filter_pixels = [] edge_pixels = [] intervals = [] print("Defining edges...") for y in range(img.size[1]): filter_pixels.append([]) for x in range(img.size[0]): filter_pixels[y].append(edge_data[x, y]) print("Thresholding...") for y in range(len(pixels)): edge_pixels.append([]) for x in range(len(pixels[0])): if util.lightness(filter_pixels[y][x]) < args.bottom_threshold: edge_pixels[y].append(constants.white_pixel) else: edge_pixels[y].append(constants.black_pixel) print("Cleaning up edges...") for y in range(len(pixels) - 1, 1, -1): for x in range(len(pixels[0]) - 1, 1, -1): if edge_pixels[y][x] == constants.black_pixel and edge_pixels[y][ x - 1] == constants.black_pixel: edge_pixels[y][x] = constants.white_pixel print("Defining intervals...") for y in range(len(pixels)): intervals.append([]) for x in range(len(pixels[0])): if edge_pixels[y][x] == constants.black_pixel: intervals[y].append(x) intervals[y].append(len(pixels[0])) return intervals
def file_edges(pixels, args): img = Image.open(args.interval_file_path) img = img.rotate(args.angle, expand=True) img = img.resize((len(pixels[0]), len(pixels)), Image.ANTIALIAS) edges = img.filter(ImageFilter.FIND_EDGES) edges = edges.convert('RGBA') edge_data = edges.load() filter_pixels = [] edge_pixels = [] intervals = [] print("Defining edges...") for y in range(img.size[1]): filter_pixels.append([]) for x in range(img.size[0]): filter_pixels[y].append(edge_data[x, y]) print("Thresholding...") for y in range(len(pixels)): edge_pixels.append([]) for x in range(len(pixels[0])): if util.lightness(filter_pixels[y][x]) < args.bottom_threshold: edge_pixels[y].append(constants.white_pixel) else: edge_pixels[y].append(constants.black_pixel) print("Cleaning up edges...") for y in range(len(pixels) - 1, 1, -1): for x in range(len(pixels[0]) - 1, 1, -1): if edge_pixels[y][x] == constants.black_pixel and edge_pixels[y][x - 1] == constants.black_pixel: edge_pixels[y][x] = constants.white_pixel print("Defining intervals...") for y in range(len(pixels)): intervals.append([]) for x in range(len(pixels[0])): if edge_pixels[y][x] == constants.black_pixel: intervals[y].append(x) intervals[y].append(len(pixels[0])) return intervals
def edge(pixels, args): img = Image.open(args["image_input_path"]) img = img.rotate(args["angle"], expand=True) edges = img.filter(ImageFilter.FIND_EDGES) edges = edges.convert('RGBA') edge_data = edges.load() filter_pixels = [] edge_pixels = [] intervals = [] logging.debug("Defining edges...") for y in range(img.size[1]): filter_pixels.append([]) for x in range(img.size[0]): filter_pixels[y].append(edge_data[x, y]) logging.debug("Thresholding...") for y in range(len(pixels)): edge_pixels.append([]) for x in range(len(pixels[y])): if util.lightness(filter_pixels[y][x]) < args["bottom_threshold"]: edge_pixels[y].append(constants.white_pixel) else: edge_pixels[y].append(constants.black_pixel) logging.debug("Cleaning up edges...") for y in range(len(pixels) - 1, 1, -1): for x in range(len(pixels[y]) - 1, 1, -1): if edge_pixels[y][x] == constants.black_pixel and edge_pixels[y][ x - 1] == constants.black_pixel: edge_pixels[y][x] = constants.white_pixel logging.debug("Defining intervals...") for y in range(len(pixels)): intervals.append([]) for x in range(len(pixels[y])): if edge_pixels[y][x] == constants.black_pixel: intervals[y].append(x) intervals[y].append(len(pixels[y])) return intervals
def lightness(pixel): return util.lightness(pixel)