Ejemplo n.º 1
0
                        required=True,
                        help='Mosaic output image name')

args = arg_parser.parse_args()

# mosaic creation constructs
dimensions = (args.x or args.thumb_size, args.y or args.thumb_size)
image_mapper = ImageMapper()
mosaic_builder = Mosaic()
pixel_analyzer = PixelAnalyzer()
image_retriever = ImageRetrievalFactory.construct(args.source_type, dimensions,
                                                  args.input_file)
image_library = ImageLibrary()

print("Parsing source image...")
mosaic = mosaic_builder.tile(image_mapper.read_pixels(args.input_file),
                             dimensions)

if args.source_type == ImageRetrievalFactory.RETRIEVE_LIBRARY:
    print("Loading image library...")
    image_retriever.load_library(image_library)

print("Generating photomosaic...")
for i in range(0, len(mosaic)):
    for j in range(0, len(mosaic[i])):
        mosaic[i][j] = image_retriever.get(pixel_analyzer.average(
            mosaic[i][j]))

image_mapper.write_pixels(mosaic_builder.untile(mosaic), args.output_file)
print("Photomosaic creation complete!")