https://github.com/inc44/rusty_scissors
Rusty Scissors is a useful tool created with ❤️ using Rust. It quickly trims extra space around images like smart scissors. It's fast, efficient, and precise.
https://github.com/inc44/rusty_scissors
batch-processing cli image-optimization image-processing performance rust windows
Last synced: 17 days ago
JSON representation
Rusty Scissors is a useful tool created with ❤️ using Rust. It quickly trims extra space around images like smart scissors. It's fast, efficient, and precise.
- Host: GitHub
- URL: https://github.com/inc44/rusty_scissors
- Owner: Inc44
- License: mit
- Created: 2023-10-12T19:54:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-11T21:59:14.000Z (almost 2 years ago)
- Last Synced: 2025-01-22T11:17:15.809Z (over 1 year ago)
- Topics: batch-processing, cli, image-optimization, image-processing, performance, rust, windows
- Language: Rust
- Homepage:
- Size: 4.48 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🖼️ Rusty Scissors ✂️
## Introduction
Rusty Scissors is a useful tool created with ❤️ using Rust. It quickly trims extra space around images like smart scissors. It's fast, efficient, and precise.
## Features 🌟
- 🚀 Fast image trimming powered by [Rayon](https://crates.io/crates/rayon).
- 🖼️ Supports many image formats (JPEG, PNG, BMP, GIF, ICO, QOI, and more).
- 🗂️ Batch process multiple images at once.
- 📁 Organized output to keep trimmed images together.
- 🛠️ Easy-to-use command-line interface.
## How to Use 💼
If you are on Windows, simply download the .exe file. For all other operating systems, refer to the "Build the Project" section for compilation instructions.
## Build the Project 🚀
1. Clone the repository:
```bash
$ git clone https://github.com/Inc44/rusty-scissors.git
```
2. Go to the project directory:
```bash
$ cd rusty-scissors
```
3. Build and run the project:
```bash
$ cargo run --release
```
## How Does It Work? 🔎
Rusty Scissors scans each row and column of pixels, checking for similarities within a specified tolerance.
If you're processing noisy images with slightly varying pixel values, you can set a tolerance value of `13.725` to account for this noise. If the default behavior (a tolerance value of `0`) works well for your images, there's no need to adjust the tolerance.
Currently, Rusty Scissors does not use the Delta E 2000 metric for color similarity, as it would significantly impact performance due to the complex calculations involved. Instead, a simpler pixel difference approach is used to prioritize speed.
## Contribution 🤝
We welcome contributions! For significant changes, please open an issue for discussion before making a pull request.
## License 📜
This software is licensed under the MIT Massachusetts Institute of Technology (MIT). For more details, refer to [LICENSE](LICENSE.md).