SpriteSheet Detection package
Project description
Sprites Detection
Introduction
A sprite is a small raster graphic (a bitmap) that represents an object such as a character, a vehicle, a projectile, etc.
Sprite Sheet
It is not uncommon for games to have tens to hundreds of sprites. Loading each of these as an individual image would consume a lot of memory and processing power. To help manage sprites and avoid using so many images, many games use sprite sheets (also known as image sprites).
A sprite sheet consists of multiple sprites in one image. In other words, sprite sheets pack multiple sprites into a single picture. Using sprite sheet, video game developers create sprite sheet animation representing one or several animation sequences while only loading a single file:
Sprite Bounding Box
A frame (bounding box) can be used to delimit the sprite in the sprite sheet. This bounding box is defined with two 2D points top_left
and the bottom_right
, which their respective coordinates x
and y
are relative to the top-left corner of the sprite sheet's image.
For example:
Sprite Mask
The mask of a sprite defines the 2D shape of the sprite. For example, the sprite sheet metal_slug_sprite_standing_stance.png
contains the 3 following sprites:
The masks of these sprites are respectively:
What the project does
- Detect sprites packed in an image (sheet) and draw their masks and bounding boxes into a new image with the same size of the original image.
- Present a 2D map of all the the sprites with their labels.
Usage Information
Prerequisites
- Python 3.7 is required.
Usage
- Use git to clone the link
https://github.com/intek-training-jsc/sprite-sheet-hoaithu1.git
to your local directory. - Change the your current working directory to where you git the project.
- Open terminal and type
pipenv install -e Pipfile
to install virtual environment. - For example:
>>> from spriteutil.spritesheet import SpriteSheet
>>> sprite_sheet = SpriteSheet('Barbarian.gif')
>>> sprites, labels = sprite_sheet.find_sprites()
>>> len(sprites)
39
>>> # Create the mask image with bounding boxes.
>>> image = sprite_sheet.create_sprite_labels_image()
>>> image.save('barbarian_bounding_boxes.png')
Contact Information
- If you have any problems using this library, please use the contact below.
Email: hoai.le@f4.intek.edu.vn
License
This project is licensed under the MIT License - see the LICENSE.txt file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sprite_hoai_thu-0.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c6b6806d4131158fe1045c6739867d8a2863a4e7d3114c38b5396a238fbb10 |
|
MD5 | 8da6a4a95944dddaa0858b686252a275 |
|
BLAKE2b-256 | fe9f7b999a627241ab089091b72c797c4520d2e2a084f854f76d0a296dae55d1 |