Skip to content

urholaukkarinen/template-matching

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

template-matching

Latest version Documentation MIT

GPU-accelerated template matching library for Rust. The crate is designed as a faster alternative to imageproc::template_matching.

Installation

[dependencies]
template-matching = { version = "0.2.0", features = ["image"] }

Usage

use template_matching::{find_extremes, match_template, MatchTemplateMethod, TemplateMatcher};

fn main() {
    // Load images and convert them to f32 grayscale
    let input_image = image::load_from_memory(include_bytes!("input.png")).unwrap().to_luma32f();
    let template_image = image::load_from_memory(include_bytes!("template.png")).unwrap().to_luma32f();

    let result = match_template(&input_image, &template_image, MatchTemplateMethod::SumOfSquaredDifferences);

    // Or alternatively you can create the matcher first
    let mut matcher = TemplateMatcher::new();
    matcher.match_template(&input_image, &template_image, MatchTemplateMethod::SumOfSquaredDifferences);
    let result = matcher.wait_for_result().unwrap();

    // Calculate min & max values
    let extremes = find_extremes(&result);
}