Пример #1
0
        puzzle_type (PuzzleType): Type of the puzzle to solve

    """
    pickle_file = PickleHelper.build_filename("bb_accuracy", [image_file], puzzle_type)

    filename_with_image_folder = config.add_image_folder_path([image_file])
    bb_results = ImageBestBuddyStatistics(filename_with_image_folder[0], piece_width, puzzle_type,
                                          top_level_calculate_asymmetric_distance)

    PickleHelper.exporter(bb_results, pickle_file)

    # Calculate the print the results.
    bb_results = PickleHelper.importer(pickle_file)
    bb_results.calculate_results()
    bb_results.print_results()


if __name__ == '__main__':
    config.setup_logging()

    # run_best_buddies_analyzer("." + os.sep + "images" + os.sep + "duck.bmp", 28, PuzzleType.type2)
    #
    # run_best_buddies_analyzer("." + os.sep + "images" + os.sep + "muffins_300x200.jpg", 28, PuzzleType.type2)
    #
    # run_best_buddies_analyzer("." + os.sep + "images" + os.sep + "cat_sleeping_boy.jpg", 28, PuzzleType.type2)

    puzzle_ids = [12, 8, 13]
    for puzzle_id in puzzle_ids:
        filename = config.build_pomeranz_805_piece_filename(puzzle_id)
        run_best_buddies_analyzer(filename, 28, PuzzleType.type2)
Пример #2
0
    return paikin_tal_solver


if __name__ == "__main__":

    # Setup the logger
    config.setup_logging()

    # Select the files to parse

    # # PaikinTalSolver.use_best_buddy_placer = False
    # images = ["muffins_300x200.jpg"]
    # run_paikin_tal_driver(images, PuzzleType.type1, 25)
    # run_paikin_tal_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)

    images = [config.build_pomeranz_805_piece_filename(8), config.build_mcgill_540_piece_filename(20)]
    run_paikin_tal_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)

    #
    # images = ["pomeranz_805_08.jpg", "mcgill_20.jpg", "3300_1.jpg"]
    # PaikinTalSolver._CLEAR_BEST_BUDDY_HEAP_ON_SPAWN = True
    # InterPieceDistance._USE_ONLY_NEIGHBORS_FOR_STARTING_PIECE_TOTAL_COMPATIBILITY = True
    # InterPieceDistance._NEIGHBOR_COMPATIBILITY_SCALAR = 1
    # run_paikin_tal_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)

    # # # # images = ["pomeranz_805_08.jpg", "mcgill_20.jpg", "3300_1.jpg"]
    # images = ["pomeranz_805_08.jpg", "mcgill_20.jpg"]
    # run_paikin_tal_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)
    #
    # images = ["pomeranz_805_08.jpg", "mcgill_20.jpg", "3300_1.jpg"]
    # run_paikin_tal_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)
Пример #3
0
    # 
    # images = ["pomeranz_805//5.jpg", "pomeranz_805//20.jpg", "pomeranz_805//1.jpg"]
    # run_multipuzzle_solver_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)
    # 
    # images = ["pomeranz_805//8.jpg", "pomeranz_805//18.jpg", "pomeranz_805//15.jpg"]
    # run_multipuzzle_solver_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)

    # images = [config.build_cho_432_piece_filename(18)]
    # run_multipuzzle_solver_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)

    images = ["primula_pixabay.jpg",
              "dandelion_pixabay.jpg",
              config.build_mcgill_540_piece_filename(15),
              config.build_mcgill_540_piece_filename(11),
              config.build_cho_432_piece_filename(18),
              config.build_pomeranz_805_piece_filename(8),
              config.build_pomeranz_805_piece_filename(10),
              config.build_pomeranz_805_piece_filename(13),
              config.build_pomeranz_805_piece_filename(14),
              config.build_pomeranz_805_piece_filename(19)]
    run_multipuzzle_solver_driver(images, PuzzleType.type2, config.DEFAULT_PIECE_WIDTH)

    images = ["primula_pixabay.jpg",
              "dandelion_pixabay.jpg",
              config.build_mcgill_540_piece_filename(15),
              config.build_mcgill_540_piece_filename(11),
              config.build_cho_432_piece_filename(18),
              config.build_pomeranz_805_piece_filename(8),
              config.build_pomeranz_805_piece_filename(10),
              config.build_pomeranz_805_piece_filename(13),
              config.build_pomeranz_805_piece_filename(14),