dify 0.3.6-alpha.0

A fast pixel-by-pixel image comparison tool in Rust
Documentation

A fast pixel-by-pixel image comparison tool

Workflows - CI

Features

Feature
.png, .jpg, .jpeg, or .bmp format supported.
Compares different format, .png vs .jpg for example.
Compares different dimensions.
Anti-aliasing support
Supports macOS, Linux and Windows.

Getting Started

Installation

From binaries

Download the binaries for your platform from release page.

Node.js ecosystem

Please refer to dify-bin npm package, it is an node.js wrapper for dify executable file:

$ npm install -g dify-bin # or `yarn global add dify-bin`
$ dify --help

Usage

dify left.jpg right.jpg

Benchmarks

Test data is coming from here

$ hyperfine \
  --warmup 1 \
  --ignore-failure \
  --export-markdown bench-dify.md \
  'dify tiger.jpg tiger-2.jpg -o tiger-diff.png' \
  'dify water-4k.png water-4k-2.png -o water-diff.png' \
  'dify www.cypress.io.png www.cypress.io-2.png -o www.cypress.io-diff.png'
Command Mean [ms] Min [ms] Max [ms] Relative
dify tiger.jpg tiger-2.jpg -o tiger-diff.png 40.2 ± 0.4 39.6 42.3 1.00
dify water-4k.png water-4k-2.png -o water-diff.png 1754.9 ± 23.3 1716.2 1799.6 43.68 ± 0.74
dify www.cypress.io.png www.cypress.io-2.png -o www.cypress.io-diff.png 1228.0 ± 17.6 1203.6 1251.7 30.56 ± 0.54

Ran on MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports), macOS Catalina 10.15.7.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements