Exemplo n.º 1
0
def setupWindow():
    filename = getUserSelectedImage()
    imageProcessor = ImageProcessor(cv2.imread(filename,0))
    colourImage = cv2.imread(filename,1)
    image = imageProcessor.getThresholdedImage(False)
    granularity = imageProcessor.get_granularity(image, 100)
    print("Granularity: {0}".format(granularity))
    start_x,start_y,end_x,end_y = get_start_points(image)
    image = imageProcessor.encloseMaze(image)
    pg = PolicyGenerator(image)
    rows,cols = pg.get_critical_grid()
    graph,mapping = pg.get_reduced_graph([rows,cols])
    policy = pg.generate_policy((end_x,end_y))
    solution = solve_using_policy(policy,(start_x,start_y),(end_x,end_y))
    imageProcessor.draw_policy(colourImage,policy)
    imageProcessor.mark_point((end_x,end_y),3,(255,0,0),colourImage)
    #cv2.imshow(MAZE_NAME,policy_image)
    mazerunner = MazeSolver(image,granularity)
    #solution = mazerunner.solveMaze(start_x,start_y,end_x,end_y)
    if(not solution):
        cv2.imshow(MAZE_NAME,image)
    else:
        solvedImage = draw_solution(solution, colourImage)
        solvedImage = imageProcessor.mark_point((start_x,start_y),3,(255,0,0),solvedImage)
        window = cv2.namedWindow("Solved Image", cv2.WINDOW_NORMAL)
        cv2.resizeWindow("Solved Image", 900,900)
        cv2.moveWindow("Solved Image",100,100)
        cv2.imshow("Solved Image",solvedImage)
    print("Press any key to exit")
    cv2.waitKey(0)
    cv2.destroyAllWindows