Skip to main content

oniazusa

CI PyPI

Transform photos into visual-novel backgrounds inspired by Leaf's Kizuato (痕) style.

oniazusa is a standalone CLI for testing the mood, tint, pixel structure, and screen-tone feel of low-resolution, memory-like backgrounds before they are folded into skirts-colour. It is also expected to act as reusable image-processing infrastructure for other tools.

Why oniazusa?

The target is not "anime filter" in the broad web sense. The tool is trying to capture a specific late-90s visual-novel background feeling: reduced detail, tinted paper-like light, and dithered depth instead of photographic realism.

That means the output style matters, but interface stability matters too, because this tool is meant to be called from name-name-based workflows and other repos.

Install

uv tool install oniazusa

Or from source:

git clone https://github.com/kako-jun/oniazusa.git
cd oniazusa
uv sync --group dev
uv run oniazusa --help

Usage

Single image

oniazusa photo.jpg -o background.png

Batch processing

oniazusa ./photos/ -o ./backgrounds/

Change tint and dithering levels

oniazusa photo.jpg --tint green --levels 24 -o background.png

Shape the gradient before the visible grid

oniazusa photo.jpg --pre-blur 1.8 --glow 0.24 -o background.png

Current behavior

  • bilateral filtering to flatten texture while preserving edges
  • soft edge overlay from Canny outlines
  • Gaussian blur plus glow-like smoothing before ordered grid dithering
  • heavy downscale then ordered Bayer dithering
  • tint mapping through a limited preset palette
  • nearest-neighbor upscale for visible dot structure

The CLI is only the first surface. The underlying behavior should remain stable enough for other tools to depend on it.

Limitations

  • foreground and background are processed uniformly
  • tint presets are still rough and not yet matched against real reference scenes
  • there is no --preprocess switch yet for alternate source stylization paths

Docs

  • docs/overview.md — artistic target and scope
  • docs/spec.md — CLI and filter steps
  • docs/roadmap.md — quality gaps and next work
  • CLAUDE.md — AI-facing internal guide

Development

uv sync --group dev
uv run ruff check .
uv run pytest

Metadata

Release files for oniazusa 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oniazusa 0.1.0
File Size Uploaded
oniazusa-0.1.0.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oniazusa 0.1.0
File Interpreter ABI Platform
oniazusa-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 kB

Release files / oniazusa-0.1.0.tar.gz

Download URL oniazusa-0.1.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
578b27bf23a27e594987610e110789c0873dea91f0fabd7fa0adc17a41bcb945
BLAKE2b-256 checksum
How to use checksums
5d83e82bee55f0c570869b9166936777035f48891961486678d6386dfad113cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / oniazusa-0.1.0-py3-none-any.whl

Download URL oniazusa-0.1.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7812451f6cdd7c3ce43a58946829b960637ac1175d28a74af700c10a4dbe48e5
BLAKE2b-256 checksum
How to use checksums
14061f2a59c2b0dbe7766c8ce33be10ac74fcabb90a95f11d93d753edb7de1b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page