https://github.com/brian-sinquin/mimg
A chained image modifier written in Zig
https://github.com/brian-sinquin/mimg
Last synced: 4 months ago
JSON representation
A chained image modifier written in Zig
- Host: GitHub
- URL: https://github.com/brian-sinquin/mimg
- Owner: brian-sinquin
- License: mit
- Created: 2025-09-30T19:28:12.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-10-04T22:57:14.000Z (4 months ago)
- Last Synced: 2025-10-05T00:24:40.071Z (4 months ago)
- Language: Zig
- Size: 257 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - briqn-sinquin/mimg - A chained-modifiers Image processing Command-line tool. (Image and Video Processing / Linker)
README
# mimg
[](https://github.com/brian-sinquin/mimg/actions/workflows/dev.yml) [](https://github.com/brian-sinquin/mimg/releases/latest) [](https://brian-sinquin.github.io/mimg/)
**Fast, SIMD-optimized command-line image processing tool written in Zig**
## โจ Features
- ๐ **High Performance**: SIMD-optimized operations with 1000+ MPixels/sec throughput
- ๐จ **Rich Effects**: 30+ modifiers including color adjustments, filters, and transforms
- ๐ **Chain Operations**: Combine multiple effects in a single command
- ๐ **Presets**: Save and reuse complex processing chains
- ๐ผ๏ธ **Multiple Formats**: PNG, TGA, QOI, PAM, PBM, PGM, PPM, PCX support
- ๐งต **Multithreaded**: Efficient batch processing of multiple images
- ๐ **Library API**: Use as a Zig library for programmatic processing
## ๐ Quick Start
```bash
# Install from releases or build from source
zig build
# Apply a single effect
zig build run -- input.png brightness 20 -o output.png
# Chain multiple effects
zig build run -- input.png brightness 20 saturation 1.3 sharpen -o output.png
# Use a preset for complex processing
zig build run -- input.png --preset vintage.preset -o output.png
```
## ๐ Documentation
- **[Installation & Building](docs/installation.md)** - Get started with mimg
- **[Available Modifiers](docs/modifiers.md)** - Complete list of all effects and transforms
- **[Presets](docs/presets.md)** - Save and reuse processing chains
- **[Usage Examples](docs/examples.md)** - Practical examples and use cases
- **[Performance](docs/performance.md)** - Benchmarks and optimization tips
- **[File Formats](docs/formats.md)** - Supported input/output formats
- **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions
- **[Library API](docs/library.md)** - Use mimg programmatically in Zig
## ๐ Performance Highlights
| Operation | Throughput | Notes |
|-----------|------------|-------|
| Grayscale | 1078 MPixels/sec | Simple luminance calculation |
| Invert Colors | 1025 MPixels/sec | Fast bitwise operations |
| Brightness | 831 MPixels/sec | SIMD-optimized |
| Gaussian Blur | 72 MPixels/sec | Separable kernel |
| Rotate 90ยฐ | 1334 MPixels/sec | Pixel rearrangement |
*Benchmarks on Intel i7-9750H with 256ร256 images*
## ๐ ๏ธ Requirements
- Zig 0.15.1 or later
- No external dependencies
## ๐ License
MIT License - see [LICENSE](LICENSE) file for details.