Skip to main content

No project description provided

Project description

Sprite Sheet

Project Description

A sprite is a small raster graphic (a bitmap) that represents an object such as a character, a vehicle, a projectile, etc.

Sprites are a popular way to create large, complex scenes as you can manipulate each sprite separately from the rest of the scene. This allows for greater control over how the scene is rendered, as well as over how the players can interact with the scene.

Sprites are mainly used in 2D video games, such as Shoot'em up in which the hero combats a large number of enemies by shooting at them while dodging their fire.

Project Goal

  • Waypoint 1: Find the Most Common Color in an Image
  • Waypoint 2: Write a Class Sprite
  • Waypoint 3: Find Sprites in an Image
  • Waypoint 4: Draw Sprite Label Bounding Boxes
  • Waypoint 5: Write a Class SpriteSheet
  • Waypoint 6: Package and Distribute the Python Library

Project Benefit

Three main features of this project, more useful in Computer Vision:

  • Find the Most Common Color in an Image
  • Find Sprites in an Image
  • Draw Sprite Label Bounding Boxes

It can split your image with many sprites and you can improve it to work in Computer Vision.

Technology

  • Python, Pillow (PIL), Numpy

Project Team

  • Nhung LAI

Feature

Find the Most Common Color in an Image

Returns the pixel color that is the most used in this image.

Find Sprites in an Image

Returns a tuple (sprites, label_map) where:

  • sprites: A collection of key-value pairs (a dictionary) where each key-value pair maps the key (the label of a sprite) to its associated value (a Sprite object);

  • label_map: A 2D array of integers of equal dimension (width and height) as the original image where the sprites are packed in. The label_map array maps each pixel of the image passed to the function to the label of the sprite this pixel corresponds to, or 0 if this pixel doesn't belong to a sprite (e.g., background color).

Draw Sprite Label Bounding Boxes

Draws the masks of the sprites at the exact same position that the sprites were in the original image. Draws each sprite mask with a random uniform color (one color per sprite mask). Also draws a rectangle (bounding box) around each sprite mask, of the same color used for drawing the sprite mask.

Usage

Install packages: pillow (PIL), numpy, python 3.7.4

You have to install packages above:

pip install pillow

and

pip install numpy

Install New Python 3.7.4

Go to this link and download new python version: https://www.python.org/downloads/

Install my package

python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps spriteutilNhungLai==1.0.0
python3 -m pip install https://testfiles.pythonhosted.org/packages/01/30/784ebde8fbf9c4f9a24033b0edbecbbee9ec4923dc0ec7a9876ce080d24f/spriteutilNhungLai-1.0.0-py3-none-any.whl
python3 
from spriteutilNhungLai.spriteutil import SpriteSheet
sprite_sheet = SpriteSheet('file_name')
sprites, labels = sprite_sheet.find_sprites()

print(len(sprites))

for label, sprite in sprites.items():
	print(f"Sprite ({label}): [{sprite.top_left}, {sprite.bottom_right}] {sprite.width}x{sprite.height}")

image = sprite_sheet.create_sprite_labels_image()

Contact (Author & Maintainer)

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

spriteutilNhungLai-1.0.1.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

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

spriteutilNhungLai-1.0.1-py2-none-any.whl (8.6 kB view details)

Uploaded Python 2

File details

Details for the file spriteutilNhungLai-1.0.1.tar.gz.

File metadata

  • Download URL: spriteutilNhungLai-1.0.1.tar.gz
  • Upload date:
  • Size: 7.9 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.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for spriteutilNhungLai-1.0.1.tar.gz
Algorithm Hash digest
SHA256 dd5fb4176c2a155fca600905f35081dbc5d2f10f9d6d703bf2c09837d1db9c97
MD5 48dd8121c11b1db0dac02bc2bc43cdfd
BLAKE2b-256 e704ff4a4b47b93b52de1ba9af25bf64a5e2063ada416e90e6dc2ca434975230

See more details on using hashes here.

File details

Details for the file spriteutilNhungLai-1.0.1-py2-none-any.whl.

File metadata

  • Download URL: spriteutilNhungLai-1.0.1-py2-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for spriteutilNhungLai-1.0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 5a9f9871a6ee673d948b9b2a050077e626457567ad998b9fb72188098b5c4c26
MD5 18e5836d78f19532e327770eb3dba0af
BLAKE2b-256 4ff15721ad52fd4ee743338e44b7d1240b197df1fe2eaa86fb4a42f2693d7262

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