Skip to content

Commit

Permalink
refactored and added cli command + group samples as an example
Browse files Browse the repository at this point in the history
  • Loading branch information
shyamsn97 committed Jun 1, 2020
1 parent 1450af0 commit a165dbf
Show file tree
Hide file tree
Showing 729 changed files with 68 additions and 9 deletions.
Binary file removed .DS_Store
Binary file not shown.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ __pycache__/
*.py[cod]
*$py.class

*.DS_Store

# C extensions
*.so

Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# exsprite
A CLI tool for extracting sprites from spritesheets!

## Setup
This will install all required packages and create the cli command for use
```
python setup.py install
```

## Example usage

If you want to group your sprite sheet by rows do

```
~$ python exprite.py --filename <filename> save
exsprite --filename <path to sprite sheet> save
```
Empty file added exsprite/__init__.py
Empty file.
9 changes: 9 additions & 0 deletions exsprite/cli.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from exsprite.core import SpriteSheet

import fire

def main():
fire.Fire(SpriteSheet)

if __name__ == '__main__':
main()
3 changes: 3 additions & 0 deletions exsprite/core/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from exsprite.core.sprite_sheet import SpriteSheet

__all__ = ["SpriteSheet"]
13 changes: 5 additions & 8 deletions exsprite.py → exsprite/core/sprite_sheet.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from PIL import Image
import cv2
import fire
from utils import show, unique, filter_bounds, get_bounds
from exsprite.utils import show, unique, filter_bounds, get_bounds


def get_chunk(tup, labeled):
Expand Down Expand Up @@ -50,7 +50,7 @@ def __init__(self, filename, background=0):
self.labeled_image=None
self._get_boolean_image()
self._get_labeled_image()

def _get_boolean_image(self):
background = flood(self.img[..., 0], (0,0), tolerance=0.0)
self.img[background] = 0
Expand All @@ -61,7 +61,7 @@ def _get_labeled_image(self):
labeled, ncomponents = label(self.boolean_image, structure)
self.labeled_image = labeled
self.num_labels = ncomponents

def _get_sprite_groups(self):
print(self.boolean_image)
bound_tups = filter_bounds(get_bounds(self.boolean_image))
Expand All @@ -74,7 +74,7 @@ def _check_create_folder(self,foldername=None):
if foldername not in set(os.listdir()):
os.mkdir(foldername)
return foldername

def save(self):
sprite_groups = self._get_sprite_groups()
self._check_create_folder()
Expand All @@ -86,10 +86,7 @@ def save(self):
raw_inds = np.where(self.labeled_image==label)
rrow, rcol = raw_inds
minr, maxr = int(min(rrow)), int(max(rrow))
minc, maxc = int(min(rcol)), int(max(rcol))
minc, maxc = int(min(rcol)), int(max(rcol))
sub_image = self.img[minr:maxr+1,minc:maxc+1]
#show(sub_image,50)
io.imsave(filename,sub_image)

if __name__ == '__main__':
fire.Fire(SpriteSheet)
1 change: 1 addition & 0 deletions exsprite/utils/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from exsprite.utils.utils import *
File renamed without changes.
Binary file added samples/link_groups/group_0/g0_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_17.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_18.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_19.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_20.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_21.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_22.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_23.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_24.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_25.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_26.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_27.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_28.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_29.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_30.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/link_groups/group_0/g0_4.png
Binary file added samples/link_groups/group_0/g0_5.png
Binary file added samples/link_groups/group_0/g0_6.png
Binary file added samples/link_groups/group_0/g0_7.png
Binary file added samples/link_groups/group_0/g0_8.png
Binary file added samples/link_groups/group_0/g0_9.png
Binary file added samples/link_groups/group_1/g1_0.png
Binary file added samples/link_groups/group_1/g1_1.png
Binary file added samples/link_groups/group_1/g1_10.png
Binary file added samples/link_groups/group_1/g1_11.png
Binary file added samples/link_groups/group_1/g1_12.png
Binary file added samples/link_groups/group_1/g1_13.png
Binary file added samples/link_groups/group_1/g1_14.png
Binary file added samples/link_groups/group_1/g1_15.png
Binary file added samples/link_groups/group_1/g1_16.png
Binary file added samples/link_groups/group_1/g1_17.png
Binary file added samples/link_groups/group_1/g1_18.png
Binary file added samples/link_groups/group_1/g1_19.png
Binary file added samples/link_groups/group_1/g1_2.png
Binary file added samples/link_groups/group_1/g1_20.png
Binary file added samples/link_groups/group_1/g1_21.png
Binary file added samples/link_groups/group_1/g1_22.png
Binary file added samples/link_groups/group_1/g1_23.png
Binary file added samples/link_groups/group_1/g1_24.png
Binary file added samples/link_groups/group_1/g1_25.png
Binary file added samples/link_groups/group_1/g1_26.png
Binary file added samples/link_groups/group_1/g1_27.png
Binary file added samples/link_groups/group_1/g1_28.png
Binary file added samples/link_groups/group_1/g1_29.png
Binary file added samples/link_groups/group_1/g1_3.png
Binary file added samples/link_groups/group_1/g1_30.png
Binary file added samples/link_groups/group_1/g1_31.png
Binary file added samples/link_groups/group_1/g1_32.png
Binary file added samples/link_groups/group_1/g1_33.png
Binary file added samples/link_groups/group_1/g1_34.png
Binary file added samples/link_groups/group_1/g1_35.png
Binary file added samples/link_groups/group_1/g1_36.png
Binary file added samples/link_groups/group_1/g1_37.png
Binary file added samples/link_groups/group_1/g1_38.png
Binary file added samples/link_groups/group_1/g1_39.png
Binary file added samples/link_groups/group_1/g1_4.png
Binary file added samples/link_groups/group_1/g1_40.png
Binary file added samples/link_groups/group_1/g1_41.png
Binary file added samples/link_groups/group_1/g1_42.png
Binary file added samples/link_groups/group_1/g1_43.png
Binary file added samples/link_groups/group_1/g1_44.png
Binary file added samples/link_groups/group_1/g1_45.png
Binary file added samples/link_groups/group_1/g1_46.png
Binary file added samples/link_groups/group_1/g1_47.png
Binary file added samples/link_groups/group_1/g1_48.png
Binary file added samples/link_groups/group_1/g1_49.png
Binary file added samples/link_groups/group_1/g1_5.png
Binary file added samples/link_groups/group_1/g1_50.png
Binary file added samples/link_groups/group_1/g1_51.png
Binary file added samples/link_groups/group_1/g1_52.png
Binary file added samples/link_groups/group_1/g1_53.png
Binary file added samples/link_groups/group_1/g1_54.png
Binary file added samples/link_groups/group_1/g1_55.png
Binary file added samples/link_groups/group_1/g1_56.png
Binary file added samples/link_groups/group_1/g1_57.png
Binary file added samples/link_groups/group_1/g1_6.png
Binary file added samples/link_groups/group_1/g1_7.png
Binary file added samples/link_groups/group_1/g1_8.png
Binary file added samples/link_groups/group_1/g1_9.png
Binary file added samples/link_groups/group_10/g10_0.png
Binary file added samples/link_groups/group_10/g10_1.png
Binary file added samples/link_groups/group_10/g10_10.png
Binary file added samples/link_groups/group_10/g10_11.png
Binary file added samples/link_groups/group_10/g10_12.png
Binary file added samples/link_groups/group_10/g10_13.png
Binary file added samples/link_groups/group_10/g10_14.png
Binary file added samples/link_groups/group_10/g10_15.png
Binary file added samples/link_groups/group_10/g10_16.png
Binary file added samples/link_groups/group_10/g10_17.png
Binary file added samples/link_groups/group_10/g10_18.png
Binary file added samples/link_groups/group_10/g10_19.png
Binary file added samples/link_groups/group_10/g10_2.png
Binary file added samples/link_groups/group_10/g10_20.png
Binary file added samples/link_groups/group_10/g10_21.png
Binary file added samples/link_groups/group_10/g10_22.png
Binary file added samples/link_groups/group_10/g10_23.png
Binary file added samples/link_groups/group_10/g10_24.png
Binary file added samples/link_groups/group_10/g10_25.png
Binary file added samples/link_groups/group_10/g10_26.png
Binary file added samples/link_groups/group_10/g10_27.png
Binary file added samples/link_groups/group_10/g10_28.png
Binary file added samples/link_groups/group_10/g10_29.png
Binary file added samples/link_groups/group_10/g10_3.png
Binary file added samples/link_groups/group_10/g10_30.png
Binary file added samples/link_groups/group_10/g10_31.png
Binary file added samples/link_groups/group_10/g10_32.png
Binary file added samples/link_groups/group_10/g10_33.png
Binary file added samples/link_groups/group_10/g10_34.png
Binary file added samples/link_groups/group_10/g10_35.png
Binary file added samples/link_groups/group_10/g10_36.png
Binary file added samples/link_groups/group_10/g10_37.png
Binary file added samples/link_groups/group_10/g10_38.png
Binary file added samples/link_groups/group_10/g10_39.png
Binary file added samples/link_groups/group_10/g10_4.png
Binary file added samples/link_groups/group_10/g10_5.png
Binary file added samples/link_groups/group_10/g10_6.png
Binary file added samples/link_groups/group_10/g10_7.png
Binary file added samples/link_groups/group_10/g10_8.png
Binary file added samples/link_groups/group_10/g10_9.png
Binary file added samples/link_groups/group_11/g11_0.png
Binary file added samples/link_groups/group_11/g11_1.png
Binary file added samples/link_groups/group_11/g11_10.png
Binary file added samples/link_groups/group_11/g11_11.png
Binary file added samples/link_groups/group_11/g11_12.png
Binary file added samples/link_groups/group_11/g11_13.png
Binary file added samples/link_groups/group_11/g11_14.png
Binary file added samples/link_groups/group_11/g11_15.png
Binary file added samples/link_groups/group_11/g11_16.png
Binary file added samples/link_groups/group_11/g11_17.png
Binary file added samples/link_groups/group_11/g11_18.png
Binary file added samples/link_groups/group_11/g11_19.png
Binary file added samples/link_groups/group_11/g11_2.png
Binary file added samples/link_groups/group_11/g11_20.png
Binary file added samples/link_groups/group_11/g11_21.png
Binary file added samples/link_groups/group_11/g11_22.png
Binary file added samples/link_groups/group_11/g11_23.png
Binary file added samples/link_groups/group_11/g11_24.png
Binary file added samples/link_groups/group_11/g11_25.png
Binary file added samples/link_groups/group_11/g11_26.png
Binary file added samples/link_groups/group_11/g11_27.png
Binary file added samples/link_groups/group_11/g11_28.png
Binary file added samples/link_groups/group_11/g11_29.png
Binary file added samples/link_groups/group_11/g11_3.png
Binary file added samples/link_groups/group_11/g11_30.png
Binary file added samples/link_groups/group_11/g11_31.png
Binary file added samples/link_groups/group_11/g11_32.png
Binary file added samples/link_groups/group_11/g11_33.png
Binary file added samples/link_groups/group_11/g11_34.png
Binary file added samples/link_groups/group_11/g11_35.png
Binary file added samples/link_groups/group_11/g11_36.png
Binary file added samples/link_groups/group_11/g11_37.png
Binary file added samples/link_groups/group_11/g11_38.png
Binary file added samples/link_groups/group_11/g11_39.png
Binary file added samples/link_groups/group_11/g11_4.png
Binary file added samples/link_groups/group_11/g11_40.png
Binary file added samples/link_groups/group_11/g11_41.png
Binary file added samples/link_groups/group_11/g11_42.png
Binary file added samples/link_groups/group_11/g11_43.png
Binary file added samples/link_groups/group_11/g11_44.png
Binary file added samples/link_groups/group_11/g11_45.png
Binary file added samples/link_groups/group_11/g11_46.png
Binary file added samples/link_groups/group_11/g11_47.png
Binary file added samples/link_groups/group_11/g11_48.png
Binary file added samples/link_groups/group_11/g11_49.png
Binary file added samples/link_groups/group_11/g11_5.png
Binary file added samples/link_groups/group_11/g11_50.png
Binary file added samples/link_groups/group_11/g11_51.png
Binary file added samples/link_groups/group_11/g11_52.png
Binary file added samples/link_groups/group_11/g11_53.png
Binary file added samples/link_groups/group_11/g11_54.png
Binary file added samples/link_groups/group_11/g11_55.png
Binary file added samples/link_groups/group_11/g11_56.png
Binary file added samples/link_groups/group_11/g11_57.png
Binary file added samples/link_groups/group_11/g11_58.png
Binary file added samples/link_groups/group_11/g11_59.png
Binary file added samples/link_groups/group_11/g11_6.png
Binary file added samples/link_groups/group_11/g11_60.png
Binary file added samples/link_groups/group_11/g11_61.png
Binary file added samples/link_groups/group_11/g11_62.png
Binary file added samples/link_groups/group_11/g11_63.png
Binary file added samples/link_groups/group_11/g11_64.png
Binary file added samples/link_groups/group_11/g11_65.png
Binary file added samples/link_groups/group_11/g11_66.png
Binary file added samples/link_groups/group_11/g11_67.png
Binary file added samples/link_groups/group_11/g11_68.png
Binary file added samples/link_groups/group_11/g11_69.png
Binary file added samples/link_groups/group_11/g11_7.png
Binary file added samples/link_groups/group_11/g11_70.png
Binary file added samples/link_groups/group_11/g11_71.png
Binary file added samples/link_groups/group_11/g11_72.png
Binary file added samples/link_groups/group_11/g11_73.png
Binary file added samples/link_groups/group_11/g11_74.png
Binary file added samples/link_groups/group_11/g11_75.png
Binary file added samples/link_groups/group_11/g11_76.png
Binary file added samples/link_groups/group_11/g11_77.png
Binary file added samples/link_groups/group_11/g11_78.png
Binary file added samples/link_groups/group_11/g11_79.png
Binary file added samples/link_groups/group_11/g11_8.png
Binary file added samples/link_groups/group_11/g11_80.png
Binary file added samples/link_groups/group_11/g11_81.png
Binary file added samples/link_groups/group_11/g11_82.png
Binary file added samples/link_groups/group_11/g11_83.png
Binary file added samples/link_groups/group_11/g11_84.png
Binary file added samples/link_groups/group_11/g11_85.png
Binary file added samples/link_groups/group_11/g11_86.png
Binary file added samples/link_groups/group_11/g11_87.png
Binary file added samples/link_groups/group_11/g11_88.png
Binary file added samples/link_groups/group_11/g11_89.png
Binary file added samples/link_groups/group_11/g11_9.png
Binary file added samples/link_groups/group_11/g11_90.png
Binary file added samples/link_groups/group_11/g11_91.png
Binary file added samples/link_groups/group_11/g11_92.png
Binary file added samples/link_groups/group_11/g11_93.png
Binary file added samples/link_groups/group_11/g11_94.png
Binary file added samples/link_groups/group_11/g11_95.png
Binary file added samples/link_groups/group_2/g2_0.png
Binary file added samples/link_groups/group_2/g2_1.png
Binary file added samples/link_groups/group_2/g2_10.png
Binary file added samples/link_groups/group_2/g2_11.png
Binary file added samples/link_groups/group_2/g2_12.png
Binary file added samples/link_groups/group_2/g2_13.png
Binary file added samples/link_groups/group_2/g2_14.png
Binary file added samples/link_groups/group_2/g2_15.png
Binary file added samples/link_groups/group_2/g2_16.png
Binary file added samples/link_groups/group_2/g2_17.png
Binary file added samples/link_groups/group_2/g2_18.png
Binary file added samples/link_groups/group_2/g2_19.png
Binary file added samples/link_groups/group_2/g2_2.png
Binary file added samples/link_groups/group_2/g2_20.png
Binary file added samples/link_groups/group_2/g2_21.png
Binary file added samples/link_groups/group_2/g2_22.png
Binary file added samples/link_groups/group_2/g2_23.png
Binary file added samples/link_groups/group_2/g2_24.png
Binary file added samples/link_groups/group_2/g2_3.png
Binary file added samples/link_groups/group_2/g2_4.png
Binary file added samples/link_groups/group_2/g2_5.png
Binary file added samples/link_groups/group_2/g2_6.png
Binary file added samples/link_groups/group_2/g2_7.png
Binary file added samples/link_groups/group_2/g2_8.png
Binary file added samples/link_groups/group_2/g2_9.png
Binary file added samples/link_groups/group_3/g3_0.png
Binary file added samples/link_groups/group_3/g3_1.png
Binary file added samples/link_groups/group_3/g3_10.png
Binary file added samples/link_groups/group_3/g3_11.png
Binary file added samples/link_groups/group_3/g3_12.png
Binary file added samples/link_groups/group_3/g3_13.png
Binary file added samples/link_groups/group_3/g3_14.png
Binary file added samples/link_groups/group_3/g3_15.png
Binary file added samples/link_groups/group_3/g3_16.png
Binary file added samples/link_groups/group_3/g3_17.png
Binary file added samples/link_groups/group_3/g3_18.png
Binary file added samples/link_groups/group_3/g3_19.png
Binary file added samples/link_groups/group_3/g3_2.png
Binary file added samples/link_groups/group_3/g3_20.png
Binary file added samples/link_groups/group_3/g3_21.png
Binary file added samples/link_groups/group_3/g3_22.png
Binary file added samples/link_groups/group_3/g3_23.png
Binary file added samples/link_groups/group_3/g3_24.png
Binary file added samples/link_groups/group_3/g3_25.png
Binary file added samples/link_groups/group_3/g3_26.png
Binary file added samples/link_groups/group_3/g3_27.png
Binary file added samples/link_groups/group_3/g3_28.png
Binary file added samples/link_groups/group_3/g3_29.png
Binary file added samples/link_groups/group_3/g3_3.png
Binary file added samples/link_groups/group_3/g3_30.png
Binary file added samples/link_groups/group_3/g3_31.png
Binary file added samples/link_groups/group_3/g3_32.png
Binary file added samples/link_groups/group_3/g3_33.png
Binary file added samples/link_groups/group_3/g3_34.png
Binary file added samples/link_groups/group_3/g3_35.png
Binary file added samples/link_groups/group_3/g3_36.png
Binary file added samples/link_groups/group_3/g3_37.png
Binary file added samples/link_groups/group_3/g3_38.png
Binary file added samples/link_groups/group_3/g3_39.png
Binary file added samples/link_groups/group_3/g3_4.png
Binary file added samples/link_groups/group_3/g3_40.png
Binary file added samples/link_groups/group_3/g3_41.png
Binary file added samples/link_groups/group_3/g3_5.png
Binary file added samples/link_groups/group_3/g3_6.png
Binary file added samples/link_groups/group_3/g3_7.png
Binary file added samples/link_groups/group_3/g3_8.png
Loading

0 comments on commit a165dbf

Please sign in to comment.