Skip to main content

Pixelate images to a specified size and color palette for AI/ML and various other purposes

Project description

Pixelator

A simple python package to pixelate images given a color palette

Features

  • Users can:
    1. Load in array data, image files or capture directly from a camera
    2. Pixelate images to a specific color palette and image resolution
    3. Access pixelated array data or write it back to an image file

Technical Docs

https://connor-makowski.github.io/pixelator/pixelator/pixelator.html

Setup

Make sure you have Python 3.6.x (or higher). You can download it here.

Installation

pip install pixelator

Getting Started

Import the pixelator into your project

from pixelator import Pixelator

Some important notes:

  • All data is stored and processed as BGR (to match open cv2)
    • EG: Provided pallettes should be in BGR

Examples

Load from a file:

from pixelator import Pixelator
# Use the input filename provided
image = Pixelator(filename='./images/input.jpg')
# Pixelate the image to a 28x28 black and white array
pixelated_image = image.pixelate(
    width=28,
    height=28,
    palette=[[0,0,0],[255,255,255]]
)
# Write to `output.png` scaled up to a 300x300 image (to be easily viewed)
pixelated_image.write(filename='./images/output_test_1.jpg', width=300, height=300)

Input:

Output:

Capture from a webcam:

from pixelator import Pixelator
# Capture from a webcam since no data or filename is provided
image = Pixelator()

# Pixelate the image to a 64x64 black, white and multiple gray array
pixelated_image = image.pixelate(
    width=64,
    height=64,
    palette=[[0,0,0],[80,80,80],[160,160,160],[200,200,200],[255,255,255]]
)
# Write to `output.png` scaled up to a 500x500 image (to be easily viewed)
pixelated_image.write(filename='./images/output_test_3.jpg', width=300, height=300)

Access Pixelator Data:

from pixelator import Pixelator
# Use the input filename provided
image = Pixelator(filename='./images/input.jpg')
# Pixelate the image to a 28x28 black and white array
pixelated_image = image.pixelate(
    width=28,
    height=28,
    palette=[[0,0,0],[255,255,255]]
)
# Show pixelated image data
print(pixelated_image.data)
# Show Color Counts:
print(pixelated_image.get_color_counts())

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

pixelator-1.3.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

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

pixelator-1.3.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file pixelator-1.3.0.tar.gz.

File metadata

  • Download URL: pixelator-1.3.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for pixelator-1.3.0.tar.gz
Algorithm Hash digest
SHA256 8a5b57e0312427f098d69f0bd01223dc62bca2f6117ebb7a4b604e292e4c28cd
MD5 a0119f037f8eeb863ff9e54d3b4b0b8e
BLAKE2b-256 a7a25e3d6cf96fc054f43e6d35226e0449e91e65f0de90722da1c884af800cce

See more details on using hashes here.

File details

Details for the file pixelator-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pixelator-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for pixelator-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ae2f2f8b2da1214119c8312e5d8526032457e53f048afb8855018343d52e88c
MD5 f217e6c7630e071bda8b3d8d2f010002
BLAKE2b-256 ff1cca5ad7c27d92bf13a5ccce23e4517a4776e4cb7a43b1a65074d2abdf91e4

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