#include #include #include "subslice_signature.hpp" #include "signature.hpp" signature_config cfg_full = { 9, //slices 3, //blur_window 2, //min_window true, //crop true, //comp 0.5, //pr 1./128, //noise_threshold 0.05, //contrast_threshold 0.25 //max_cropping }; signature_config cfg_subslice = { 4, //slices 16, //blur_window 2, //min_window false, //crop true, //comp 0.5, //pr 1./64, //noise_threshold 0.05, //contrast_threshold 0.25 //max_cropping }; int main(int argc, char **argv) { std::vector a; for (int i = 1; i < argc; ++i) a.push_back(std::move(subsliced_signature::from_file(argv[i], 3, 3, cfg_full, cfg_subslice))); for (auto& ss : a) { for (auto& s : ss.subslices) printf("%lu ", signature_hash{}(s)); puts(""); } if (a.size() < 2) return 0; for (size_t i = 0; i < a.size(); ++i) for (size_t j = i + 1; j < a.size(); ++j) { printf("%lu <-> %lu:", i, j); double d = a[i].full.distance(a[j].full); printf("%f\n", d); } //while (cv::waitKey(0) != 'q'); return 0; }