Unverified Commit 4a934390 authored by narugo1992's avatar narugo1992 Committed by GitHub
Browse files

Merge pull request #6 from deepghs/dev/lineart

dev(narugo): add lineart onnx export
parents f2ba719d 689d9669
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -24,6 +24,10 @@ jobs:
          - 18080:8080

    steps:
      - name: Set Swap Space
        uses: pierotofy/set-swap-space@master
        with:
          swap-size-gb: 8
      - name: Checkout code
        uses: actions/checkout@v2
        with:
+2 −1
Original line number Diff line number Diff line
@@ -17,7 +17,8 @@ jobs:
          - '3.8'
        model-name:
          #          - 'lpips'
          - 'monochrome'
          #          - 'monochrome'
          - 'lineart'

    steps:
      - name: Checkout code
+36 −2
Original line number Diff line number Diff line
from typing import Tuple
from typing import Tuple, List

import matplotlib.pyplot as plt
from PIL import Image

from imgutils.data import load_image, grid_transparent
from imgutils.data import load_image, grid_transparent, ImageTyping
from imgutils.validate.truncate import _mock_load_truncated_images

INCHES_TO_PIXELS = 96


def _image_input_process(img) -> Tuple[Image.Image, str]:
    if isinstance(img, tuple):
@@ -45,3 +47,35 @@ def image_plot(*images, save_as: str, columns=2, keep_axis: bool = False, figsiz
        ax.axis('off')

    plt.savefig(save_as, bbox_inches='tight', pad_inches=0.1, dpi=300, transparent=True)


@_mock_load_truncated_images(True)
def image_table(images: List[List[ImageTyping]], columns: List[str], rows: List[str], save_as: str,
                keep_axis: bool = False, figsize=(720, 600), dpi: int = 300, fontsize: int = 18, padsize: int = 5):
    plt.cla()
    plt.tight_layout()

    assert images, 'No less than 1 images required.'
    fig, axs = plt.subplots(len(rows), len(columns),
                            figsize=(figsize[0] / INCHES_TO_PIXELS, figsize[1] / INCHES_TO_PIXELS))
    plt.subplots_adjust(wspace=padsize / INCHES_TO_PIXELS, hspace=padsize / INCHES_TO_PIXELS)
    for xi in range(len(rows)):
        for yi in range(len(columns)):
            img = images[xi][yi]
            ax = axs[yi] if len(rows) == 1 else axs[xi, yi]
            if img:
                image = load_image(img, force_background=None)
                ax.imshow(grid_transparent(image))
                if not keep_axis:
                    ax.set_xticks([])
                    ax.set_yticks([])
            else:
                ax.set_xticks([])
                ax.set_yticks([])

            if xi == 0:
                ax.set_title(columns[yi], fontsize=fontsize)
            if yi == 0:
                ax.set_ylabel(rows[xi], fontsize=fontsize)

    plt.savefig(save_as, bbox_inches='tight', pad_inches=0.02, dpi=dpi, transparent=True)
+21 −0
Original line number Diff line number Diff line
import numpy as np
from PIL import Image

from imgutils.data import istack
from plot import image_plot

if __name__ == '__main__':
    width, height = Image.open('nian.png').size
    hs1 = (1 - np.abs(np.linspace(-1 / 3, 1, height))) ** 0.5
    ws1 = (1 - np.abs(np.linspace(-1, 1, width))) ** 0.5
    nian_mask = hs1[..., None] * ws1  # HxW

    image_plot(
        'nian.png',
        (istack('lime', 'nian.png'), 'nian_lime.png'),
        (istack(('yellow', 0.5), ('nian.png', 0.9)), 'nian_trans.png'),
        (istack(('nian.png', nian_mask)), 'nian_mask.png'),
        save_as='grid_istack.dat.svg',
        columns=2,
        figsize=(12, 12),
    )
+1 −0
Original line number Diff line number Diff line
@@ -13,3 +13,4 @@ imgutils.data
    encode
    decode
    image
    layer
Loading