content_segmentation_masks = extract_segmentation_masks(content_segmentation_image)
        style_segmentation_masks = extract_segmentation_masks(style_segmentation_image)

    # otherwise compute it
    else:
        print("Create segmentation.")
        content_segmentation, style_segmentation = compute_segmentation(args.content_image, args.style_image)

        cv2.imwrite(change_filename(args.seg_dir, args.content_image, '_seg_raw', '.png'), content_segmentation)
        cv2.imwrite(change_filename(args.seg_dir, args.style_image, '_seg_raw', '.png'), style_segmentation)

        content_segmentation_masks, style_segmentation_masks = merge_segments(content_segmentation, style_segmentation,
                                                                              args.semantic_thresh, args.similarity_metric)

    cv2.imwrite(change_filename(args.seg_dir, args.content_image, '_seg', '.png'),
                reduce_dict(content_segmentation_masks, content_image))
    cv2.imwrite(change_filename(args.seg_dir, args.style_image, '_seg', '.png'),
                reduce_dict(style_segmentation_masks, style_image))

    if args.init == "noise":
        random_noise_scaling_factor = 0.0001
        random_noise = np.random.randn(*content_image.shape).astype(np.float32)
        init_image = vgg.postprocess(random_noise * random_noise_scaling_factor).astype(np.float32)
    elif args.init == "content":
        init_image = content_image
    elif args.init == "style":
        init_image = style_image
    else:
        print("Init image parameter {} unknown.".format(args.init))
        exit(1)
Ejemplo n.º 2
0
            content_segmentation_masks = extract_segmentation_masks(
                content_segmentation_image)
        else:
            print("Create segmentation.")
            content_segmentation = compute_segmentation(args.content_image)
            cv2.imwrite(
                change_filename(result_dir, args.content_image, '_seg_raw',
                                '.png'), content_segmentation)

        content_segmentation_masks, color_to_gram_dict, anp_results = merge_anps(
            content_segmentation, style_text, args.adjective_threshold,
            args.noun_threshold, result_dir)

        cv2.imwrite(
            change_filename(result_dir, args.content_image, '_seg', '.png'),
            reduce_dict(content_segmentation_masks, content_image))

        if args.init == "noise":
            random_noise_scaling_factor = 0.0001
            random_noise = np.random.randn(*content_image.shape).astype(
                np.float32)
            init_image = vgg.postprocess(
                random_noise * random_noise_scaling_factor).astype(np.float32)
        elif args.init == "content":
            init_image = content_image
        elif args.init == "style":
            init_image = style_image
        else:
            print("Init image parameter {} unknown.".format(args.init))
            exit(0)