Texture Atlas Extractor -

output_path = Path(output_dir) output_path.mkdir(exist_ok=True)

frames = data.get('frames', data) # handle different JSON structures texture atlas extractor

This naive method works for atlases with transparent gaps between sprites. output_path = Path(output_dir) output_path

from PIL import Image import numpy as np from scipy import ndimage def blind_extract(atlas_path, min_size=8): img = Image.open(atlas_path).convert('RGBA') alpha = np.array(img.getchannel('A')) labels, num = ndimage.label(alpha > 0) for i in range(1, num+1): ys, xs = np.where(labels == i) if len(ys) < min_size: continue x1, x2 = xs.min(), xs.max() y1, y2 = ys.min(), ys.max() sprite = img.crop((x1, y1, x2+1, y2+1)) sprite.save(f"sprite_i.png") num = ndimage.label(alpha &gt

Our Locations