- TRY(image_dup_init(&ctx, &dup1, img1, pool));
- TRY(image_dup_init(&ctx, &dup2, img2, pool));
-
- MSG("Similarity bitmap %02x", image_dup_compare(&dup1, &dup2, transformations | IMAGE_DUP_SCALE | IMAGE_DUP_WANT_ALL));
+ dup1 = mp_start(pool, image_dup_estimate_size(img1->cols, img1->rows, 1, idc.qtree_limit));
+ uns size = image_dup_new(&idc, img1, dup1, 1);
+ TRY(size);
+ mp_end(pool, (void *)dup1 + size);
+ dup2 = mp_start(pool, image_dup_estimate_size(img2->cols, img2->rows, 1, idc.qtree_limit));
+ size = image_dup_new(&idc, img2, dup2, 1);
+ TRY(size);
+ mp_end(pool, (void *)dup2 + size);
+
+ idc.flags = transformations | IMAGE_DUP_SCALE | IMAGE_DUP_WANT_ALL;
+ MSG("Similarity bitmap %02x", image_dup_compare(&idc, dup1, dup2));