コード例 #1
0
    def convert(self, image):
        img = np.array(image)
        lip_u = img[:112, 100:300]
        arrx = np.sin(np.linspace(0, np.pi / 2, 100) + np.pi / 8)**2 * 80 - 20
        arrx[-20:] += np.sin(np.linspace(0, np.pi / 2, 20)) * 10
        arry = np.zeros(100)
        lip_u = improc.affine_transform(lip_u, arrx, arry)
        arrx = np.sin(np.linspace(0, 1, 100))**4 * 150 - 20
        lip_u = improc.affine_transform(np.rot90(lip_u), arrx, arry)
        lip_u = np.rot90(lip_u, -1)
        lip_u = improc.resize(lip_u[20:103, 25:-22], [1.25, 1.25])
        lip_u = np.uint8(lip_u * 255)

        lip_l = img[112:, 100:300]
        arrx = np.sin(np.linspace(0, np.pi / 2, 100))**1 * -70
        arry = np.zeros(100)
        lip_l = improc.affine_transform(lip_l, arrx, arry)
        arrx = np.linspace(1, 0, 100)**3 * 80
        lip_l = improc.affine_transform(np.rot90(lip_l), arrx, arry)
        lip_l = np.rot90(lip_l, -1)
        lip_l = improc.resize(lip_l[5:, 50:-5], [1.05, 1.25])
        lip_l = np.uint8(lip_l * 255)

        img = np.concatenate([lip_u[:, 10:-1], lip_l[:, :-1]], axis=0)
        img = improc.mirror(img, axis=1)
        return improc.resize(Image.fromarray(img), [0.92, 1.])
コード例 #2
0
 def convert(self, image):
     mask = Image.open(self.mask_tex)
     image = np.array(image)
     image = improc.resize(improc.rotate(image, 37.2), [.76, .76])
     image = Image.fromarray(np.uint8(image * 255))
     image = improc.masking(image, mask)
     return image
コード例 #3
0
 def convert(self, image):
     mask = Image.open(self.mask_tex)
     image = improc.resize(image, [.66, 1.07])
     image = np.array(image)
     image = improc.rotate(image, -5, resize=True)
     image = Image.fromarray(np.uint8(image * 255))
     image = improc.masking(image, mask)
     return image
コード例 #4
0
 def convert(self, image):
     image = np.array(image)
     [r, c, d] = image.shape
     image = image[:, :int(c / 2)]
     arrx = np.sin(np.linspace(0, np.pi / 2, 36))**2 * 150
     arry = np.zeros(36)
     image = improc.affine_transform(image, arrx, arry)
     image = Image.fromarray(np.uint8(image * 255))
     image = improc.mirror(image, axis=1)
     return improc.resize(image, [.32, .38])
コード例 #5
0
    def convert(self, image):
        img = np.array(image)
        lip_u = img[:112, 100:300]
        lip_l = img[112:, 100:300]

        arrx = np.sin(np.linspace(0, np.pi / 2, 100) + np.pi / 8)**2 * 100 - 20
        arry = np.zeros(100)
        lip_u = improc.affine_transform(lip_u, arrx, arry)
        arrx = np.sin(np.linspace(0, 1, 100))**2 * 100 - 20
        lip_u = improc.affine_transform(np.rot90(lip_u), arrx, arry)
        lip_u = np.rot90(lip_u, -1)[:, 25:-18]

        arrx = np.sin(np.linspace(0, np.pi / 2, 100))**1 * -70
        arry = np.zeros(100)
        lip_l = improc.affine_transform(lip_l, arrx, arry)
        arrx = np.linspace(1, 0, 100)**3 * 80
        lip_l = improc.affine_transform(np.rot90(lip_l), arrx, arry)
        lip_l = np.rot90(lip_l, -1)

        img = np.concatenate([lip_u[:-20, :], lip_l[10:, 43:]], axis=0)
        img = improc.mirror(img, axis=1)
        img = Image.fromarray(np.uint8(img * 255))
        return improc.resize(img, [0.9, 0.6])
コード例 #6
0
 def convert(self, image):
     return improc.resize(image, [.7, .7])
コード例 #7
0
 def convert(self, image):
     return improc.resize(image, [.32, .32])
コード例 #8
0
 def convert(self, image):
     return improc.resize(image, [.21, .21])
コード例 #9
0
 def convert(self, image):
     img = np.array(image)
     img[:, 1350:-1350] = np.roll(img[:, 1350:-1350], 250,
                                  axis=0)  # nose move
     img = Image.fromarray(img)
     return improc.resize(img, [.15, .15])
コード例 #10
0
 def convert(self, image):
     image = image.crop((300, 470, 500, 500))
     return improc.resize(image, [4.3, 4.3])
コード例 #11
0
 def convert(self, image):
     return improc.resize(improc.mirror(image), [0.3, 0.8])
コード例 #12
0
 def convert(self, image):
     return improc.resize(image, [0.82, 0.82])
コード例 #13
0
 def convert(self, image):
     image = np.array(image)
     image[:, 1350:-1350] = np.roll(image[:, 1350:-1350], 100,
                                    axis=0)  # nose move
     image = Image.fromarray(image)
     return improc.resize(image, [.25, .25])
コード例 #14
0
ファイル: linz.py プロジェクト: mowenli/avatar_makeup_toolkit
 def convert(self, image):
     image = np.array(image)
     image = rotate(image, 3, resize=True)
     image = Image.fromarray(np.uint8(image * 255))
     return improc.resize(image, [.5, .5])
コード例 #15
0
 def convert(self, image):
     return improc.resize(image, [1., .86])
コード例 #16
0
 def convert(self, image):
     return improc.resize(image, [.5, .5])
コード例 #17
0
 def convert(self, image):
     return improc.resize(image, [0.66, 0.7])