Repository navigation
Expand file tree
/
Copy pathTwoDExample.py
More file actions
79 lines (59 loc) · 2.12 KB
/
Copy pathTwoDExample.py
File metadata and controls
79 lines (59 loc) · 2.12 KB
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
73
74
75
76
77
78
79
from TileCollection import *
from collections import deque
import sys
from PIL import Image
from PNGConvert.ImagePNG import imageLoad
from PNGConvert.WaveFunc import tileToColor
from WFC import generate_fully_recursive
import matplotlib.pyplot as plt
sys.setrecursionlimit(10**6)
if __name__ == '__main__':
gen_size = 101
tile_size = 3
stride = 2
tiles, weights = imageLoad(f"island.png", False, tile_size=tile_size)
hash_to_num, num_to_hash, tile_set, index_to_color, color_to_index, numColors = tileToColor(tiles, weights)
PNG=True
# random_hash = 163840
# States 4 & 16
# grid = reverse_hash(num_to_hash[4], numColors, tile_size)
# im1 = np.zeros((3,3,3), dtype=np.uint8)
# for i, j in np.ndindex((3,3)):
# color_tuple = index_to_color[grid[i,j]]
# im1[i,j] = np.array(color_tuple)
# grid = reverse_hash(num_to_hash[18], numColors, tile_size)
# im2 = np.zeros((3,3,3), dtype=np.uint8)
# for i, j in np.ndindex((3,3)):
# color_tuple = index_to_color[grid[i,j]]
# im2[i,j] = np.array(color_tuple)
# fig, ax = plt.subplots(1,2)
# ax[0].imshow(im1)
# ax[1].imshow(im2)
# plt.show()
grid, result = generate_fully_recursive(None, gen_size, tile_size, stride, PNG, hash_to_num, num_to_hash, tile_set, numColors)
im = np.zeros((gen_size, gen_size, 3), dtype=np.uint8)
for i, j in np.ndindex((gen_size, gen_size)):
color_tuple = index_to_color[grid[i,j]]
im[i,j] = np.array(color_tuple)
print(result)
save = Image.fromarray(im)
save.save("StridedImage.png")
plt.imshow(im)
plt.show()
# tilemap = np.ones((11,10))
# tilemap[0:2, :] = 3
# tilemap[2:3, :7] = 3
# tilemap[3:5, :5] = 3
# tilemap[4, 5:7] = 3
# tilemap[5, :3] = 3
# tilemap[2, -1] = 3
# tilemap[1:3, 1:3] = 2
# tilemap[1, 3] = 2
# tilemap[2,4] = 2
# tilemap[7, 4:8] = 0
# tilemap[8:10, 5:8] = 0
# grid, result = generate_fully_recursive(tilemap, 4, 2)
# grid, result = generate_fully_recursive(tilemap, 64, 2)
# show_im(grid, get_colors())
# print(result)
# plt.show()