File size: 1,863 Bytes
e0b1654
8a82feb
 
927cd84
 
ed573a5
806a9c8
45f5807
dec6f1b
7c52e38
0e20c0a
 
 
 
 
 
 
 
 
 
d14bea4
0e20c0a
3ca4172
0e20c0a
 
 
eeb12be
0e20c0a
636d4f9
0e20c0a
 
ec7ce2d
0e20c0a
 
 
 
ec7ce2d
 
 
0e20c0a
ec7ce2d
 
0e20c0a
ec7ce2d
 
dc4d049
3ca4172
 
ae8be33
0e20c0a
 
dc4d049
1067bcf
806a9c8
cd1ec07
dc4d049
ae14095
59f395e
90c55ab
ec03d09
7369bb5
cd2779f
e0b1654
a9e687d
 
346bc17
9e429cf
344612d
85c1a8b
 
1d6a3fa
db4cf25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import gradio as gr
from image_dataset import ImageDataset
from image_wgan import ImageWgan
import os
from os.path import exists
from PIL import Image, ImageEnhance
import numpy
print(gr.__version__)
def init():
    generated_samples_folder = "."
    discriminator_saved_model = "discriminator64.model"
    generator_saved_model = "generator64.model"
    latent_space = 100
    image_wgan = ImageWgan(
        image_shape = (4,64,64),
        latent_space_dimension=latent_space,
        generator_saved_model=generator_saved_model if exists(generator_saved_model) else None,
        discriminator_saved_model=discriminator_saved_model if exists(discriminator_saved_model) else None
    )
    image_wgan.generate(
        sample_folder=generated_samples_folder
    )
    crop()

def crop():
    import generator
    res = 64
    if res != 0:
        results = "generated.png"
        img = Image.open(results)

        width, height = img.size

        top = 2
        bottom = 2
        for i in range(4):
            left = (res + 2) * i + 2
            right = width - (res + 2) * i
            imgcrop = img.crop((left, top, left + res, top + res))  # Changed res+2 to res

            # Resize the image using nearest neighbor interpolation
            imgcrop = imgcrop.resize((res, res), Image.NEAREST)

            imgcrop.save(str(i) + ".png")
   
init()





import numpy

def gen(seed):
    numpy.random.seed(int(seed))
    init()
    crop()
    imgArr = []
    for i in range(4):
        img = Image.open(str(i)+".png")
        imgArr.append(img)
    return imgArr

iface = gr.Interface(
    fn=gen, 
    inputs=gr.Slider(0,1000,500,step = 0.01),
    outputs=gr.Gallery(label="Generated Skins"),
    title = "Minecraft Skin Generator",
    css = "html{image-rendering:pixelated}",
    debug = True,
)
iface.launch(width=64,height=64,enable_queue=True)