Skip to main content

Transform photos into Leaf's Kizuato-style visual novel backgrounds

Project description

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

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

oniazusa-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

oniazusa-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file oniazusa-0.1.0.tar.gz.

File metadata

  • Download URL: oniazusa-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for oniazusa-0.1.0.tar.gz
Algorithm Hash digest
SHA256 578b27bf23a27e594987610e110789c0873dea91f0fabd7fa0adc17a41bcb945
MD5 96648282fbf94aea160bfa47ce60e133
BLAKE2b-256 5d83e82bee55f0c570869b9166936777035f48891961486678d6386dfad113cd

See more details on using hashes here.

File details

Details for the file oniazusa-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: oniazusa-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for oniazusa-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7812451f6cdd7c3ce43a58946829b960637ac1175d28a74af700c10a4dbe48e5
MD5 a4b0fe5a98ede0188bb5eac2c90f6992
BLAKE2b-256 14061f2a59c2b0dbe7766c8ce33be10ac74fcabb90a95f11d93d753edb7de1b4

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