Skip to main content

A small example package

Project description

Sprites Detection

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.

Sprite Mask

The mask of a sprite defines the 2D shape of the sprite.

Aim of the project

  • 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.

Installation

  • pipenv install spriteutil_detection

Features

Find sprites

  • For example:
>>> from spriteutil_detection import SpriteSheet
>>> sprite_sheet = SpriteSheet('Barbarian.gif')
>>> sprites, labels = sprite_sheet.find_sprites()
>>> len(sprites)
39

Create sprites' masks and bouding boxes

  • For example:
>>> from spriteutil_detection import SpriteSheet
>>> sprite_sheet = SpriteSheet('Barbarian.gif')
>>> # 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: duy.phung@f4.intek.edu.vn
    Phone: (+84) 934 611 103

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

spriteutil_detection-1.0.2.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spriteutil_detection-1.0.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file spriteutil_detection-1.0.2.tar.gz.

File metadata

  • Download URL: spriteutil_detection-1.0.2.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/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for spriteutil_detection-1.0.2.tar.gz
Algorithm Hash digest
SHA256 7df63829b435e93855dd0183c1d9f4be11419c9a955c3cf9966042c3f888d4bf
MD5 67b59dfef195b421237e15a526b79832
BLAKE2b-256 532cae3153ff728f72b35f604515e576b000282ee52bdee590d553bb70118463

See more details on using hashes here.

File details

Details for the file spriteutil_detection-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: spriteutil_detection-1.0.2-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/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for spriteutil_detection-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78a9f30ee2be419baaeda759aac4b01df916c2d3d3b4deacb0bd60828b134632
MD5 1c82f9e1871148c88ba05400302b2bd7
BLAKE2b-256 4ec0e1ffa058fdb98fee2d0d2e355b03bacd0321c40fbecc57c54091f93da99f

See more details on using hashes here.

Supported by

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