Skip to main content

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:

Shape Bounding Boxes

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:

Metal Slug Standing Stance

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sprite_hoai_thu-0.0.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

sprite_hoai_thu-0.0.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file sprite_hoai_thu-0.0.0.tar.gz.

File metadata

  • Download URL: sprite_hoai_thu-0.0.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for sprite_hoai_thu-0.0.0.tar.gz
Algorithm Hash digest
SHA256 d909e156ee5b21d19a4ca800eac408eff2c9fe11d4737a9e08b6ae6e7fa711eb
MD5 552623c4bdfe4195fa3922164c5552c5
BLAKE2b-256 c4689a532d1988ac13a64a61db3ef31f133662882ee9d24d20efda57d7fa1099

See more details on using hashes here.

File details

Details for the file sprite_hoai_thu-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: sprite_hoai_thu-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for sprite_hoai_thu-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06c6b6806d4131158fe1045c6739867d8a2863a4e7d3114c38b5396a238fbb10
MD5 8da6a4a95944dddaa0858b686252a275
BLAKE2b-256 fe9f7b999a627241ab089091b72c797c4520d2e2a084f854f76d0a296dae55d1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page