A simple image processing toolkit for resizing, histogram transfer, and difference detection.
Project description
PixFlow: Image Processing Toolkit
Simple, lightweight, and easy-to-use image processing toolkit in Python.
Resize images, transfer histograms, and detect structural differences with just a few lines of code.
🖼️ Description
PixFlow is a Python package designed to simplify common image processing tasks, including:
- Image resizing
- Histogram matching between images
- Structural difference detection (SSIM)
- Image reading and saving
- Plotting images and histograms
Built on top of scikit-image, matplotlib, and numpy.
📦 Features
- 🔸 Image reading and saving — Supports formats like
.jpg,.png, etc. - 🔸 Image resizing — Resizes by relative proportion.
- 🔸 Histogram matching — Adjusts the tones of one image to match another.
- 🔸 Structural difference detection (SSIM) — Detects and visualizes structural differences between images.
- 🔸 Plot utilities:
- Display single images
- Compare multiple images side by side
- Plot RGB histograms
🚀 Installation
Install from PyPI:
pip install pixflow
Or install locally from the repository:
git clone https://github.com/A-Chioquetta/pixflow.git
cd pixflow
pip install -e .
🔧 Dependencies
- numpy
- matplotlib
- scikit-image
These will be automatically installed with pip install pixflow.
Or install manually with:
pip install -r requirements.txt
🛠️ Usage Example
from pixflow import (
read_image, save_image,
resize_image, transfer_histogram, find_difference,
plot_image, plot_result, plot_histogram
)
# Read images
image1 = read_image('flor1.jpg')
image2 = read_image('flor2.jpg')
image3 = read_image('flor1_alterada.jpg')
# Resize
resized = resize_image(image1, proportion=0.5)
plot_image(resized, title="Resized Image")
# Histogram matching
matched = transfer_histogram(image1, image2)
plot_result(image1, image2, matched, title="Histogram Matching")
# Structural difference (SSIM)
difference = find_difference(image1, image3)
plot_result(image1, image3, difference, title="Structural Difference")
# Histogram plot
plot_histogram(image1)
# Save resized image
save_image(resized, 'resized_image.jpg')
🗂️ Project Structure
pixflow/
├── pixflow/
│ ├── processing/
│ ├── utils/
│ └── __init__.py
├── examples/
├── tests/
├── README.md
├── setup.py
├── LICENSE.txt
└── requirements.txt
📄 License
This project is licensed under the MIT License.
🔗 Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixflow-0.2.0.tar.gz.
File metadata
- Download URL: pixflow-0.2.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02c4723866ef0a654a5ab523bfd14acdd9f0c27c7225078009c428841bde8158
|
|
| MD5 |
afe4ced5c157f9cff38eb0d490bf01b2
|
|
| BLAKE2b-256 |
c03876f2ab96a1dd6430ceb0424352601a43264abd83de2a770fc6455ba55fbe
|
File details
Details for the file pixflow-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pixflow-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a6720d3f0c3807df0f59f07073827aaac1f8fdf58b118e7027c404d33d7a501
|
|
| MD5 |
bcf755f595fb3ab0757dbfb903652c1e
|
|
| BLAKE2b-256 |
88705b5b26a852e0f856ffdbc7612c18792824fa01edaa4477a4202a2233e66f
|