示例#1
0
def render_strokes(strokes, blur=0.5, blur_fsize=11):
    assert (blur_fsize in np.arange(1, 102)) and (blur_fsize % 2 == 1)
    ps = Parameters()
    ps.fsize = blur_fsize
    pimg, _ = render_image(strokes, epsilon=0., blur_sigma=blur, ps=ps)

    return pimg
示例#2
0
    def __init__(self, blur_sigma=0.5, epsilon=0., blur_fsize=None, PM=None):
        super().__init__()
        if PM is None:
            PM = Parameters()

        self.painter = Painter(PM)
        self.broaden_and_blur = BroadenAndBlur(blur_sigma, epsilon, blur_fsize, PM)
示例#3
0
 def __init__(self, PM=None):
     super().__init__()
     if PM is None:
         PM = Parameters()
     self.register_buffer('ink_pp', PM.ink_pp)
     self.register_buffer('ink_max_dist', PM.ink_max_dist)
     self.register_buffer('index_mat',
                          torch.arange(PM.imsize[0]*PM.imsize[1]).view(PM.imsize))
     self.register_buffer('space_flip', torch.tensor([-1.,1.]))
     self.imsize = PM.imsize
示例#4
0
 def __init__(self, blur_sigma=0.5, epsilon=0., blur_fsize=None, PM=None):
     super().__init__()
     if PM is None:
         PM = Parameters()
     if blur_fsize is None:
         blur_fsize = PM.fsize
     assert blur_fsize % 2 == 1, 'blur conv filter size must be odd'
     self.register_buffer('H_broaden', broaden_filter(PM.ink_a, PM.ink_b))
     self.register_buffer('H_blur', blur_filter(blur_fsize, blur_sigma))
     self.nbroad = PM.ink_ncon
     self.blur_pad = blur_fsize//2
     self.blur_sigma = blur_sigma
     self.blur_fsize = blur_fsize
     self.epsilon = epsilon
示例#5
0
def render_strokes_small(strokes, blur=0.):
    """
    Use this version for (28,28) images
    """
    # set parameters
    ps = Parameters()
    ps.imsize = (28, 28)
    ps.ink_ncon = 1
    ps.ink_a = 0.5
    ps.ink_b = 1.5
    # update strokes
    strokes = [(28 / 105) * stk for stk in strokes]
    # render image
    pimg, _ = render_image(strokes, epsilon=0., blur_sigma=blur, ps=ps)

    return pimg