image-find

Crates.ioimage-find
lib.rsimage-find
version0.1.5
created_at2025-09-04 09:05:49.471731+00
updated_at2025-09-05 17:12:24.251351+00
descriptionA high-performance tool to find similar images using perceptual hashing.
homepage
repositoryhttps://github.com/ImShyMike/image-find
max_upload_size
id1823905
size667,486
ShyMike (ImShyMike)

documentation

README

image-find

A high-performance tool to find similar images using perceptual hashing.

Demo GIF


Table of contents

Installation

From crates.io

cargo install image-find

Building from source

git clone https://github.com/imshymike/image-find.git
cd image-find
cargo install --path .

Usage

$ image-find
Usage: image-find <wanted_images_folder> <search_folder> [<similarity_threshold>] [<found_matches_folder>]

[!NOTE] The default similarity threshold is 90%.

The program analyzes all images in the search_folder directory and compares them against reference images stored in the wanted_images_folder. When matches are found that exceed the specified similarity_threshold, they are printed to the console. Optionally, you can provide a found_matches_folder path to automatically copy all discovered matches to a separate location for easy review and organization.

Arguments Type Description Example value
wanted_images_folder Path Directory containing reference images to find wanted_images
search_folder Path Directory to search for similar images all_images
similarity_threshold Percentage Minimum similarity score (0-100%) 90
found_matches_folder Path Optional output directory for matched images found

Output

CSV Report

A CSV file is generated in the directory where the program was executed containing all found matches with the following format:

Column Description Example
id Filename of the matched image with no extension 200
file Full filename of the matched image 200.jpg
path Full path to the matched image /images/200.jpg
similarity Similarity score (0.0-1.0, 4 decimal places) 0.9700

Example CSV output:

id,file,path,similarity
200,200.jpg,~/images/200.jpg,0.9700
341,341.png,~/images/341.jpg,1.0000

Demo GIF

The demo GIF is generated using vhs using the command vhs cassette.tape.

License

This project is licensed under the MIT license.

Commit count: 23

cargo fmt