Web App Demo: https://pmnxis.github.io/chama-optics/
This is a technology preview built with WebAssembly (WASM). Stable operation is not guaranteed and some features may be limited compared to the desktop version. The web support is experimentally maintained on the
webbranch.
Chama Optics is a program created for recent mirrorless and DSLR cameras,
inspired by the travel VTuber Akai Haato(赤井はあと), who loves photography.
It analyzes the EXIF data embedded in photos along with the user’s settings to resize, compress, and tag images before saving them, while also offering additional convenient features.
This program is developed in Rust using the eframe/egui framework, along with libraries such as exif-rs.
- Read JPEG/PNG and other common formats
- Read HEIF photos (native Apple ImageIO on macOS/iOS, libheif on Windows/Linux/FreeBSD)
- Read EXIF data (supports up to 2.3.x standard; not yet compliant with 3.0)
- Save photos with selected frames and settings
- Themes from genally use in another case
- Read Panasonic lumix LUT/PhotoStyle and Nikon Picture Control names
- More themes
- Save photos with EXIF
- Face Detection with CPU
- Face Detection with neural engine in macOS.
- Face Detection utilize NPU or GPU in Windows / Linux (Optional)
- Multi core usage
- Utilize camera maker logo
- Watermark feature
- When loading HEIF / JPEG images, generate thumbnails by prioritizing the Thumbnail / Preview metadata inside EXIF instead of resizing pixels from the full image (improves performance)
- Feature to create 4-cut or 2-cut photos with idol images, similar to photo sticker booths
- Function to group similar photos or images taken around the same time
- Adjustment controls for contrast, brightness, grain, texture, and LUT
- Preset for color grading and complex procedure by EXIF or user request
- Web version
cargo run --release --features face_detection_insightface- Install Rust
- Install Visual Studio Build Tools with "C++ build tools"
- (Optional) Install vcpkg for HEIF support
For HEIF/HEIC image support on Windows, you need libheif via vcpkg:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
vcpkg integrate install
vcpkg install libheif:x64-windows-static-md
vcpkg install libheif:x64-windows-static
cd ..Note: Build with
--features libheifto enable HEIF support on Windows.
Use the provided build script:
.\build_windows.batOr build manually:
# Build release version
cargo build --release --features desktop
# Run directly
cargo run --release --features desktop
# Create bundled executable
cargo install cargo-bundle
cargo bundle --release- Debug build:
target\debug\chama-optics.exe - Release build:
target\release\chama-optics.exe - Bundled app:
target\release\bundle\windows\Chama Optics.exe
- ✅ Full GUI support
- ✅ File dialogs
- ✅ System fonts
- ✅ HEIF/HEIC support (with vcpkg)
- ✅ Face detection: Due to driver condition.
For Face Detection, Use macOS/iOS:
- ✅ VisionKit (macOS/iOS): Works perfectly, fast, accurate
- Built-in Apple framework, no external dependencies
- Optimized for Apple Silicon
# Note: libheif is NOT needed on macOS - native Apple ImageIO is used for HEIF support
brew install nasm # Required for mozjpeg JPEG encoding
cargo run --release
# When make *.app
./build_mac.sh
cd ./target/release/bundle/osx
open -n "Chama Optics.app"bash build-linux.shAuto-detects distro and applies the correct build configuration. Supports Debian 12/13, Ubuntu 22.04/24.04, Fedora 41+, Rocky/RHEL 9, and Arch Linux. See README_LINUX.md for details.
sh build-freebsd.shAuto-detects FreeBSD version and installs required dependencies via pkg.
Supports FreeBSD 14.3 and 15.0.
See README_FREEBSD.md for details.
./build_ios.shUsed with iOS xcode swift native project.
Most of the code depends on the NON-AI-MIT license, while some portions are under the MIT or Apache 2.0 licenses.
In particular, the image data has been processed by pmnxis, but the original vector icons were used with permission from シエミカ (X: shiemika324).
All icons are strictly prohibited from being used for any form of AI training without exception.
The "Cheki" tab icon is derived from an illustration by いらすとや (みふねたかし): "かわいいアイドルファンのイラスト(ペンライトあり)", modified to a monochrome silhouette. Used under irasutoya's terms of use.