Skip to content
/ farbfeld Public

A small Python module for reading and writing farbfeld images (https://tools.suckless.org/farbfeld/). Currently supports reading and writing pixel values to/from farbfeld image files.

License

Notifications You must be signed in to change notification settings

jmp/farbfeld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

farbfeld.py

Build Status codecov Language grade: Python PyPI version

This is a small Python module for reading and writing pixel data from farbfeld images (https://tools.suckless.org/farbfeld/).

Installation

The module is available on PyPI: https://pypi.org/project/farbfeld/

You can install it with pip:

pip install farbfeld

Usage

To read an image, open the desired file and read the pixels from it using farbfeld.read:

import farbfeld

with open('image.ff', 'rb') as f:
    data = farbfeld.read(f)

Note that since farbfeld stores pixel components as 16-bit unsigned integers, you may have to normalize them or scale them to a different range (e.g. 8-bit). For example, using NumPy and Matplotlib:

import farbfeld
import numpy as np
import matplotlib.pyplot as plt

with open('image.ff', 'rb') as f:
    data = farbfeld.read(f)
    data_8bit = np.array(data).astype(np.uint8)
    plt.imshow(data_8bit, interpolation='nearest')
    plt.show()

To write a farbfeld image, open the desired file and write the pixels into it using farbfeld.write:

import farbfeld

# An example 2x2 image
data = [
    [[1, 2, 3, 4], [5, 6, 7, 8]],
    [[9, 10, 11, 12], [13, 14, 15, 16]],
]

with open('image.ff', 'wb') as f:
    farbfeld.write(f, data)

Source code

The source code is available on GitHub: https://github.com/jmp/farbfeld

About

A small Python module for reading and writing farbfeld images (https://tools.suckless.org/farbfeld/). Currently supports reading and writing pixel values to/from farbfeld image files.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages